Paysafe

Paysafe payment gateway integration supporting credit card processing, authorization, capture, refunds, voids, 3D Secure, MOTO transactions, and secure payment tokenization via the Paysafe Payments API.

Supported Functionality

FeatureSupported
Authorization✅
Capture✅
Refund✅
Void✅
Card Tokenization✅
Dynamic Merchant Descriptors✅
3D Secure✅ Pass your own or gateway-managed
$0 Transactions❌

Setup

To connect a Merchant using the Paysafe Gateway,

  1. First add Merchant
  2. Select Paysafe as the Gateway
  3. Add Gateway Details as outlined below
Gateway DetailsDescription
Username*Paysafe API username
Password*Paysafe API password
Account Number*Paysafe account ID — provided by Paysafe
SandboxCheck this box if these are sandbox credentials. When checked, requests are sent to the Paysafe sandbox environment.
Pass MOTO Payment TypeCheck this box if you would like to pass initial transactions as MOTO (Mail Order/Telephone Order). When unchecked, 3DS authentication data is required.
Attempt 3D SecureCheck this box to attempt Paysafe-managed 3D Secure authentication on initial transactions. When the checkout supports redirects, Paysafe will handle the 3DS challenge flow.
Bypass $0 Transaction AuthorizationsCheck this box to bypass card validation with Paysafe for $0 transactions. When unchecked, a $1 authorization (voided immediately) will be used to validate the card — the result of this authorization will determine if the transaction is successful. This setting only applies to initial transactions — $0 renewals will always bypass the gateway. Learn more about $0.00 transaction handling.
Pass Merchant DescriptorWhen checked, the merchant descriptor set up within the Merchant Account will be passed to Paysafe as a dynamic descriptor with the transaction.
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

Supported Payment Methods

Credit Card

Card Tokenization

Charges made with card data ask Paysafe to save the card. Vrio stores the returned multi-use token and reuses it for every renewal.

Dynamic Merchant Descriptors

When Pass Merchant Descriptor is checked, Vrio sends the Merchant Account descriptor with every charge, 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

When Attempt 3D Secure is checked, Vrio will use Paysafe-managed 3D Secure authentication for initial transactions where the checkout supports redirects (i.e., a redirect_url is present).

How it works:

  1. Vrio creates a payment handle with a threeDs object and returnLinks pointing back to the checkout.
  2. If Paysafe determines a 3DS challenge is required, the payment handle returns with status: INITIATED and action: REDIRECT. Vrio returns a response_code: 101 with the redirect URL — the customer is redirected to complete 3DS authentication.
  3. If the transaction is frictionless (no challenge needed), the payment handle returns as PAYABLE immediately and Vrio processes the payment in a single step — no redirect is needed.
  4. After the customer completes 3DS authentication and is redirected back, the checkout calls the /order/{order_id}/complete endpoint. Vrio verifies the payment handle is now PAYABLE and processes the payment.

For handling the 101 response code, see Handling 101 Response Codes.

🚧

Paysafe Account Requirement

Paysafe-managed 3D Secure must be enabled on your Paysafe account. Contact Paysafe to enable this feature before checking this box. If it is not enabled, payment handle creation will fail with an authentication error.

Passing your own values

Paysafe also accepts 3D Secure authentication data that you generate with a third party provider. When those values are present on the order they are sent with the charge and Paysafe does not run its own authentication.

VrioPaysafe
order_cardholder_authauthentication.threeDResult
order_eciauthentication.eci
order_cavvauthentication.cavv
order_xidauthentication.xid
order_3ds_versionauthentication.threeDSecureVersion
order_3ds_ds_transaction_idauthentication.directoryServerTransactionId

These ride on the payment handle, so they are only sent on charges where card data is passed. A renewal charges the stored token directly and is linked to the authenticated first charge through the stored credential instead.

See Third Party 3DS Providers for the full parameter reference.


MOTO

When Pass MOTO Payment Type is checked, Vrio will pass entryMode: MOTO on the payment handle request for initial transactions that do not have 3DS authentication data. This tells Paysafe the transaction is a mail order or telephone order and does not require 3D Secure authentication.

📘

3D Secure takes priority

MOTO describes an order taken while the cardholder is not present, and 3D Secure authenticates a cardholder who is, so the two describe opposite transactions. When an authentication is actually being attempted, Vrio leaves MOTO off.

That covers both ways a transaction gets authenticated: Attempt 3D Secure running on an order processed with a redirect_url, and third party authentication data present on the order as described in Passing your own values. Everything else with the box checked is still sent with entryMode: MOTO.

🚧

Important

If you are using a third-party 3DS provider (e.g., Paay.co), do not check "Pass MOTO Payment Type" — the 3DS data from your provider will be passed automatically. Learn more about third-party 3DS integrations here.

FAQ


Q: I am getting a response_code: 101 returned, what does that mean?

A: A response_code: 101 indicates that 3D Secure authentication is required before the charge can be completed. The customer must be redirected to the URL in the post_data field to complete 3DS authentication. After authentication, use the /order/{order_id}/complete endpoint to finalize the transaction. Learn more here.


Q: My refund is failing on a recent transaction, what should I do?

A: Paysafe does not support partial refunds on settlements that have not yet been batched. Vrio will automatically attempt a settlement cancel for full refunds on unbatched settlements, but partial refunds will fail. Wait for the settlement to batch (typically the next business day) before attempting a partial refund.


Q: I have both "Pass MOTO Payment Type" and "Attempt 3D Secure" checked — which one takes priority?

A: When both are checked, 3D Secure takes priority for transactions where a redirect URL is present (e.g., checkout page transactions). For transactions without a redirect URL (e.g., API-initiated charges or recurring renewals), the MOTO setting will be used as a fallback.

Testing

Note : Placing test orders with a Paysafe sandbox account or using Paysafe test cards 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.

For Paysafe test cards, check here.


Did this page help you?