Paymend

Paymend payment recovery gateway, available as a standard processing merchant or as a dunning attempt merchant for recovering declined renewals.

Paymend is a payment recovery gateway. When it cannot approve a card straight away it can accept the payment for recovery and keep retrying it with the issuer, reporting the outcome to Vrio later by webhook.

That gives it three places to sit. Unlike a salvage-only gateway, a Paymend merchant can be attached to a campaign or added to a payment router's available merchants and used for ordinary processing. It can also be placed at either of the two points where Vrio already has a decline in hand:

  • A checkout decline — as the reattempt merchant on a router's initial decline reattempt, salvaging the sale while the customer is still in checkout.
  • A renewal decline — as the merchant on a single attempt of a dunning schedule, salvaging a failed subscription renewal.

All three are configured under Setup below.

Supported Functionality

FeatureSupported
Sale✅
Authorization✅
Capture✅
Refund✅
Void✅ Captured payments are refunded
Card Tokenization❌
Dynamic Merchant Descriptors✅
3D Secure❌
$0 Transactions❌

Setup

To connect a Merchant using the Paymend Gateway,

  1. First add Merchant
  2. Select Paymend as the Gateway
  3. Add Gateway Details as outlined below
Gateway DetailsDescription
Api Token*provided by Paymend
Store ID*The Paymend identifier for your store or website, provided by Paymend. Payments cannot be created without it
SandboxCheck this box if these are sandbox credentials. When checked, requests are sent to the Paymend sandbox environment.
Webhook Secret*The authorization token Paymend sends on every webhook. See Webhook Secret.
Pass Merchant DescriptorWhen checked, the merchant descriptor set on the Merchant Account is sent to Paymend with the charge. See Dynamic Merchant Descriptors.
Merchant Payment Methods*The types of payment methods this merchant accepts — credit card only.
Merchant Card Types*Card types to be accepted on this Merchant
Merchant Default Currency*Default currency that will be used, if currency is not specified
Merchant Currencies*All currencies accepted on this merchant

*Required

The three places are configured independently, and the same Paymend merchant can serve any or all of them.

Recovering an initial decline

Salvages a checkout decline while the customer is still in the checkout process.

  1. Add the Paymend merchant as above
  2. Open the router and go to the Advanced Routing tab
  3. Check Reattempt Initial Declined, then Reattempt on a specific Merchant
  4. Select the Paymend merchant

See Initial Decline Reattempts for the full set of reattempt options.

Recovering a renewal decline

Salvages a failed subscription renewal as one step of a dunning schedule.

  1. Add the Paymend merchant as above
  2. Open the dunning schedule you want to recover through and edit the attempt that should go to Paymend
  3. Set that attempt's Merchant to the Paymend merchant

Any attempt that does not name a merchant continues on the merchant of the original attempt, so a subscription recovered through Paymend returns to its normal merchant on the next renewal.

Supported Payment Methods

Credit Card

Webhook Secret

Paymend reports the outcome of a queued recovery by webhook, so a Paymend merchant is not finished until the webhook is configured on both sides.

  1. Open the Paymend merchant in Vrio — the Webhook Secret field displays the webhook URL for your account
  2. Give that URL to Paymend and ask them to subscribe it to the PAYMENT_CAPTURED, PAYMENT_FAILED and PAYMENT_VOIDED events
  3. Paymend provide an authorization token for that webhook — paste it into Webhook Secret and save

Vrio checks that token on every webhook and discards anything that does not match it.

🚧

Until the Webhook Secret is set, Vrio rejects every webhook Paymend sends.
A renewal that Paymend queues for recovery then stays pending, because nothing arrives to resolve it.

Queued recoveries

When Paymend cannot approve a payment immediately, it may accept it for recovery and keep retrying with the issuer.
Paymend resolve a queued payment within 30 days.

What Vrio does with that depends on whether anyone is waiting.

On a renewal, the transaction is held as pending rather than approved or declined.
It does not count as a decline, so the subscription is not cancelled and no further dunning attempt is scheduled while it is open.
It does not count as an approval either, so nothing ships against it.
Nothing re-charges it while it is pending.

A pending transaction is returned with a response_code=103 and a successful response, and has no completion date.
It keeps that code until Paymend resolve the payment, at which point the webhook settles it and the code becomes 100 for an approval or 200 for a decline.

Billing continues from there — a recovered payment lets the subscription carry on, and the next renewal returns to its normal merchant.
A failed one moves to the next dunning attempt, or cancels the subscription if the schedule is exhausted.

At checkout, nobody can wait.
The payment is cancelled with Paymend and the transaction is returned as a decline, so the customer can enter another card without the original charge still being live.

Void

Paymend accepts a void while a payment is authorized or queued for recovery.
Once a payment has been captured it can no longer be voided, so voiding a captured transaction in Vrio issues a full refund of the original charge instead.

Card Tokenization

Paymend does not store cards. Card data is sent on every charge.

Dynamic Merchant Descriptors

When Pass Merchant Descriptor is checked, Vrio sends the Merchant Account descriptor with each payment, or a merchant_descriptor passed when the order is processed, which is then reused for that order's renewals.
If the order later moves to a different merchant, that merchant's descriptor is used instead.

3D Secure

Paymend does not accept 3D Secure authentication data. Authentication values passed with an order are not sent to the gateway.

Common Errors

Paymend returns a failure code describing why a payment was not approved.

CodeMeaning
ACCOUNT_AUTHENTICATION_FAILEDCVV or PIN provided was incorrect or invalid
ACCOUNT_CLOSEDConsumer account has been closed
ACCOUNT_NUMBER_INVALIDConsumer account or issuing bank not recognized
BLOCKED_BY_PAYMENDPayment blocked by Paymend
CARD_BLOCKEDCard reported as lost or stolen
CARD_EXPIREDCard has expired
CARD_RESTRICTEDCard has been restricted, contact issuing bank
DO_NOT_HONORTransaction declined by issuer without a specific reason
EXCEEDS_AUTHORIZED_AMOUNTValue of capture request exceeds authorized amount
EXCEEDS_CAPTURED_AMOUNTValue of refund request exceeds captured amount
FORMAT_ERRORError found in the format of the request
GENERIC_DECLINEGeneric issuer decline
INSUFFICIENT_FUNDSNot enough funds available in the consumer account
INVALID_AMOUNTTransaction amount marked as invalid
INVALID_MERCHANTInvalid merchant
INVALID_TRANSACTIONTransaction marked as invalid
PAYMENT_METHOD_NOT_SUPPORTEDPayment method or card brand not supported by Paymend
ROUTING_ERRORNo route could be found to process the transaction
SECURITY_VIOLATIONTransaction declined due to security or legal violation
SUSPECTED_FRAUDTransaction declined due to suspicion of fraud
TRANSACTION_NOT_PERMITTEDTransaction not permitted
UNAUTHORIZEDPaymend rejected the Api Token — check the token and the Sandbox setting
VOID_NOT_ALLOWEDThe payment can no longer be voided. See Void

Testing

With Sandbox checked, requests are sent to the Paymend sandbox environment.

Reach out to Paymend for test card information.

Note : Placing test orders in sandbox will not automatically set the order as a test in Vrio. Be sure to flag the order as a test using the is_test flag after the order is processed. For more details on placing test orders, click here.


Did this page help you?