Card Deposits via PaySafe
The following method IDs are covered in this section:
ID | Name | Credit / Debit state |
---|---|---|
1 | ECMC Deposit (Mastercard) | AuthorisedByProvider (13) CapturedByProvider (27) |
2 | VISA Deposit | AuthorisedByProvider (13) CapturedByProvider (27) |
113 | AMEX Deposit | AuthorisedByProvider (13) CapturedByProvider (27) |
AMEX Deposit not available
AMEX Deposits are not supported in the launch phase due to some necessary additional changes.
Payment method interaction type: Synchronous Execution (see Interaction Types)
The card integration with Paysafe follows a generic card integration flow.
3DS (without PSD2 specifics) and Applepay/GooglePay will be supported.
Redirect Integration
There are no specific steps for initiating Card Deposits with Redirect Integration. Refer to Initiate New Payment (Redirect) for the standard steps.
Backend2Backend Integration
Authorization
To initiate a card deposit the initiatePayment web method should be invoked. The following table contains additional data fields that can be passed in the specificPaymentData collection:
Key (value type, account type, required) | Description |
---|---|
PaymentDescription (string) | Payment description; set up in conjuction with the pre-defined merchant template. However, Paysafe only accepts the first 20 characters. |
IsThreeDSecureConditionalRequired (boolean) | Generic 3DS setup value |
Is3DSecureRequired (boolean) | Generic 3DS setup value |
PaymentProviderID | Please set provider ID "19". |
The userIP may be passed in the initiatePaymentRequest:
key (value type, account type, required) | value |
---|---|
userIP (string) | Users IPv4. Paysafe does not support IPv6 addresses |
For AVS the merchant may pass AVS related fields within specificPaymentData (AVSCountry, AVSStreetAddress, and AVSPostCode). Alternatively user details are sent to provider.
Example initiatePaymentRequest (without 3DS):
<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<merchantID>{{merchant}}</merchantID>
<shopID>{{shop}}</shopID>
<merchantTransactionID>{{merchantTransactionID}}</merchantTransactionID>
<paymentMethodID>2</paymentMethodID>
<amount currencyCode="cad">20.52</amount>
<userID>{{newUserID}}</userID>
<userData>
<username>{{newUserName}}</username>
<firstname>Sherlöck</firstname>
<lastname>Hólms</lastname>
<currencyCode>EUR</currencyCode>
<languageCode>EN</languageCode>
<email>[email protected]</email>
<address>
<street>Marxergasse</street>
<houseNumber>1b</houseNumber>
<postalCode>1030</postalCode>
<city>Vienna</city>
<countryCode2>AT</countryCode2>
<telephoneNumber>00437778889999</telephoneNumber>
</address>
<dateOfBirth>1980-10-10T00:00:00</dateOfBirth>
<gender>Male</gender>
</userData>
<userIP>80.121.151.158</userIP>
<userSessionID>t02d03hwaxkrl5gmabcypwmm</userSessionID>
<creationTypeID>3</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>PaymentDescription</key>
<value>some description</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PaymentDescriptionLanguageCode</key>
<value>en</value>
</data>
<data xsi:type="keyBooleanValuePair">
<key>IsThreeDSecureConditionalRequired</key>
<value>false</value>
</data>
<data xsi:type="keyBooleanValuePair">
<key>IsThreeDSecureRequired</key>
<value>false</value>
</data>
<data xsi:type="keyIntValuePair">
<key>PaymentProviderID</key>
<value>19</value>
</data>
</specificPaymentData>
<paymentAccount>
<specificPaymentAccountData>
<data xsi:type="keyStringValuePair">
<key>CardNumber</key>
<value>4111111111111111</value>
</data>
<data xsi:type="keyStringValuePair">
<key>CardVerificationCode</key>
<value>111</value>
</data>
<data xsi:type="keyIntValuePair">
<key>ExpiryMonth</key>
<value>12</value>
</data>
<data xsi:type="keyIntValuePair">
<key>ExpiryYear</key>
<value>2030</value>
</data>
<data xsi:type="keyStringValuePair">
<key>HolderName</key>
<value>Sir Stenley Roise</value>
</data>
</specificPaymentAccountData>
</paymentAccount>
</initiatePaymentRequest>
Example initiatePaymentRequest (with AVS details sent in specificPaymentData section):
<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<merchantID>{{merchant}}</merchantID>
<shopID>{{shop}}</shopID>
<merchantTransactionID>{{merchantTransactionID}}</merchantTransactionID>
<paymentMethodID>1</paymentMethodID>
<amount currencyCode="cad">156.06</amount>
<userID>{{newUserID}}</userID>
<userData>
<username>{{newUserName}}</username>
<firstname>John</firstname>
<lastname>Doe</lastname>
<currencyCode>EUR</currencyCode>
<languageCode>EN</languageCode>
<email>[email protected]</email>
<address>
<street>Marxergasse</street>
<houseNumber>1b</houseNumber>
<postalCode>1030</postalCode>
<city>Vienna</city>
<countryCode2>AT</countryCode2>
<telephoneNumber>00437778889999</telephoneNumber>
</address>
<dateOfBirth>1980-10-10T00:00:00</dateOfBirth>
<gender>Male</gender>
</userData>
<userIP>80.121.151.158</userIP>
<userSessionID>t02d03hwaxkrl5gmabcypwmm</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>PaymentDescription</key>
<value>some description</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PaymentDescriptionLanguageCode</key>
<value>en</value>
</data>
<data xsi:type="keyBooleanValuePair">
<key>IsThreeDSecureRequired</key>
<value>false</value>
</data>
<data xsi:type="keyIntValuePair">
<key>PaymentProviderID</key>
<value>19</value>
</data>
<data xsi:type="keyStringValuePair">
<key>AVSCountry</key>
<value>US</value>
</data>
<data xsi:type="keyStringValuePair">
<key>AVSStreetAddress</key>
<value>4161 Red Maple Drive</value>
</data>
<data xsi:type="keyStringValuePair">
<key>AVSPostCode</key>
<value>90017</value>
</data>
</specificPaymentData>
<paymentAccount>
<specificPaymentAccountData>
<data xsi:type="keyStringValuePair">
<key>CardNumber</key>
<value>5266248793296818</value>
</data>
<data xsi:type="keyStringValuePair">
<key>CardVerificationCode</key>
<value>111</value>
</data>
<data xsi:type="keyStringValuePair">
<key>HolderName</key>
<value>John Doe</value>
</data>
<data xsi:type="keyIntValuePair">
<key>ExpiryMonth</key>
<value>1</value>
</data>
<data xsi:type="keyIntValuePair">
<key>ExpiryYear</key>
<value>2033</value>
</data>
</specificPaymentAccountData>
</paymentAccount>
</initiatePaymentRequest>
Example initiatePaymentResponse (AuthorisedByProvider):
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>PaysafeCCDepositsProviderTestingShop</shopID>
<paymentMethod>
<key>2</key>
<value>VISA Deposit</value>
</paymentMethod>
<merchantTransactionID>hc-20250521-120348</merchantTransactionID>
<paymentID>b8dd40a8-d4f3-4a76-833e-7f235fe7507a</paymentID>
<userID>hc20250521120348</userID>
<paymentProvider>
<key>19</key>
<value>Paysafecard</value>
</paymentProvider>
<amount currencyCode="CAD">20.52</amount>
<creationType>
<key>3</key>
<value>Api</value>
</creationType>
<userIP>80.121.151.158</userIP>
<state>
<id>34ab89aa-f59b-4952-82b6-f8e33f9e7afe</id>
<definition>
<key>13</key>
<value>AuthorisedByProvider</value>
</definition>
<createdOn>2025-05-21T10:03:49.8382128Z</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>AVSResponse</key>
<value>F</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>AVSResponseMessage</key>
<value>Exact match</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>CVCResponse</key>
<value>Matched</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseCode</key>
<value>0</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseMessage</key>
<value>Approved or completed successfully</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ApprovalCode</key>
<value>211744</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="EUR">14.82</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ElectronicCommerceIndicator</key>
<value>07</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>c96ef3be-9fca-4f3b-ae30-58d32e7283ae</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>2150702894</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>4ca12032-872b-4d58-a55d-5242008b3620</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>IssuerCountry</key>
<value>AT</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>AccountFundingSource</key>
<value>Credit</value>
</detail>
<detail xsi:type="keyBooleanValuePair">
<key>FastFunds</key>
<value>false</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>IssuerName</key>
<value/>
</detail>
</details>
</paymentAccount>
</payment>
</initiatePaymentResponse>
The following payment state details are included in the initiatePaymentResponse:
Detail | Description |
---|---|
AVSResponse | AVS response value |
AVSResponseMessage | AVS response message |
CVCResponse | CVC response value |
ProviderResponseCode | |
ProviderResponseMessage | |
ApprovalCode |
The following payment details are included in the initiatePaymentResponse:
Detail | Description |
---|---|
ElectronicCommerceIndicator | ECI value |
ProviderTransactionID | Transaction ID from Paysafe |
ProviderExternalID | ID sent by PXP to Paysafe |
Example initiatePaymentResponse with account details:
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>PaysafeCCDepositsProviderTestingShop</shopID>
<paymentMethod>
<key>1</key>
<value>ECMC Deposit</value>
</paymentMethod>
<merchantTransactionID>hc-20250521-120749</merchantTransactionID>
<paymentID>c9121203-f2ff-4edb-b424-d88f4aec8585</paymentID>
<userID>hc20250521120749</userID>
<paymentProvider>
<key>19</key>
<value>Paysafecard</value>
</paymentProvider>
<amount currencyCode="CAD">156.06</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>80.121.151.158</userIP>
<state>
<id>6fdb7999-7857-48fd-96e9-4b1b4516e7e9</id>
<definition>
<key>13</key>
<value>AuthorisedByProvider</value>
</definition>
<createdOn>2025-05-21T10:08:01.2083846Z</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>AVSResponse</key>
<value>F</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>AVSResponseMessage</key>
<value>Exact match</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>CVCResponse</key>
<value>Matched</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseCode</key>
<value>0</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseMessage</key>
<value>Approved or completed successfully</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ApprovalCode</key>
<value>212414</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="EUR">112.7</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ElectronicCommerceIndicator</key>
<value>07</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>16541b4e-1b80-4773-80ca-59c0de81444c</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>2150702897</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>11ba65dc-e654-42be-83a5-2f8a3d77f829</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>IssuerCountry</key>
<value>AT</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>AccountFundingSource</key>
<value>Debit</value>
</detail>
<detail xsi:type="keyBooleanValuePair">
<key>FastFunds</key>
<value>false</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>IssuerName</key>
<value>Some Bank</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>MaskedNumber</key>
<value>526624******6818</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>AccountOwnerToken</key>
<value>085ce085-f91e-45f4-b67a-0d15b7cfa6a9</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>ExpiryMonth</key>
<value>1</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>ExpiryYear</key>
<value>2033</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>HolderName</key>
<value>John Doe</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>CardType</key>
<value>Mastercard</value>
</detail>
</details>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Sample initiatePaymentResponse for RefusedByProvider:
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>PaysafeCCDepositsProviderTestingShop</shopID>
<paymentMethod>
<key>1</key>
<value>ECMC Deposit</value>
</paymentMethod>
<merchantTransactionID>hc-20250521-135221</merchantTransactionID>
<paymentID>cf63be25-0837-483e-9df8-9131009a9bcb</paymentID>
<userID>hc20250521135221</userID>
<paymentProvider>
<key>19</key>
<value>Paysafecard</value>
</paymentProvider>
<amount currencyCode="CAD">0.04</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>80.121.151.158</userIP>
<state>
<id>59ad1d3d-f8ae-4ac2-93ca-fc1e2f3cb123</id>
<definition>
<key>100</key>
<value>RefusedByProvider</value>
</definition>
<createdOn>2025-05-21T11:52:23.1940448Z</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>AVSResponse</key>
<value/>
</detail>
<detail xsi:type="keyStringValuePair">
<key>AVSResponseMessage</key>
<value/>
</detail>
<detail xsi:type="keyStringValuePair">
<key>CVCResponse</key>
<value>Matched</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderErrorResponseCode</key>
<value>3015</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderErrorResponseMessage</key>
<value>The bank has requested that you process the transaction manually by calling the cardholder's credit card company.</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseCode</key>
<value>2</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseMessage</key>
<value>Refer to card issuer's special condition</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">0.03</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ElectronicCommerceIndicator</key>
<value>07</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>2ec72b45-172b-4115-997a-810706a5dd81</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>2150702934</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>d262d563-0bd1-4160-9336-611d8287e432</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>IssuerCountry</key>
<value>AT</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>AccountFundingSource</key>
<value>Debit</value>
</detail>
<detail xsi:type="keyBooleanValuePair">
<key>FastFunds</key>
<value>false</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>IssuerName</key>
<value>Some Bank</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>MaskedNumber</key>
<value>526624******6818</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>AccountOwnerToken</key>
<value>085ce085-f91e-45f4-b67a-0d15b7cfa6a9</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>ExpiryMonth</key>
<value>1</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>ExpiryYear</key>
<value>2033</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>HolderName</key>
<value>John Doe</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>CardType</key>
<value>Mastercard</value>
</detail>
</details>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Note: This response includes the mapped ISO code in ProviderResponseCode and ProviderResponseCode and the error code from Paysafe in ProviderErrorResponseCode and ProviderErrorResponseMessage.
Sample initiatePaymentResponse for AuthoriseErrorReportedByProvider:
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>PaysafeCCDepositsProviderTestingShop</shopID>
<paymentMethod>
<key>113</key>
<value>AMEXDeposit</value>
</paymentMethod>
<merchantTransactionID>hc-20250521-123636</merchantTransactionID>
<paymentID>2cbe444d-d406-4ec4-bfca-cde8c71aaf05</paymentID>
<userID>hc20250521123636</userID>
<paymentProvider>
<key>19</key>
<value>Paysafecard</value>
</paymentProvider>
<amount currencyCode="CAD">0.25</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>1c7c2a45-5b3b-474f-ab16-6abc1bac8d2d</id>
<definition>
<key>14</key>
<value>AuthoriseErrorReportedByProvider</value>
</definition>
<createdOn>2025-05-21T10:36:38.1281539Z</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>AVSResponse</key>
<value/>
</detail>
<detail xsi:type="keyStringValuePair">
<key>AVSResponseMessage</key>
<value/>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderErrorResponseCode</key>
<value>4001</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderErrorResponseMessage</key>
<value>The card number or email address associated with this transaction is in our negative database.</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">0.18</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ElectronicCommerceIndicator</key>
<value>07</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>74d8c4ad-a67a-443a-902c-a11d598e20ab</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>2150702926</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>75eeb8ec-cf8f-49ed-be7f-95d14fd2dc96</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>IssuerCountry</key>
<value>GB</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>AccountFundingSource</key>
<value>Credit</value>
</detail>
<detail xsi:type="keyBooleanValuePair">
<key>FastFunds</key>
<value>false</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>IssuerName</key>
<value>AMEX UK CONSUMER CHARGE</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>MaskedNumber</key>
<value>374251*****0000</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>AccountOwnerToken</key>
<value>bc55af0e-e033-4d63-9d69-361e854ccdf2</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>ExpiryMonth</key>
<value>12</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>ExpiryYear</key>
<value>2030</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>HolderName</key>
<value>Sir Stenley Roise</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>CardType</key>
<value>AmericanExpress</value>
</detail>
</details>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Note: the response include the error code from Paysafe in ProviderErrorResponseCode and the error message in ProviderErrorResponseMessage.
Sample initiatePaymentResponse when a communication error occurs:
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>PaysafeCCDepositsProviderTestingShop</shopID>
<paymentMethod>
<key>2</key>
<value>VISA Deposit</value>
</paymentMethod>
<merchantTransactionID>hc-20250521-141743</merchantTransactionID>
<paymentID>662bc794-2095-441b-848e-b7cc233b6392</paymentID>
<userID>hc20250521141743</userID>
<paymentProvider>
<key>19</key>
<value>Paysafecard</value>
</paymentProvider>
<amount currencyCode="CAD">20.52</amount>
<creationType>
<key>3</key>
<value>Api</value>
</creationType>
<userIP>80.121.151.158</userIP>
<state>
<id>8a8e12da-9461-48f7-b64d-89ff68d6a169</id>
<definition>
<key>336</key>
<value>AuthoriseCommunicationErrorOccurred</value>
</definition>
<createdOn>2025-05-21T12:17:44.2960716Z</createdOn>
<description>A communication error occurred during authorization.</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">14.82</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ElectronicCommerceIndicator</key>
<value>07</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>2150702963</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>f231380c-c2ff-4dff-86de-edc876004b50</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>IssuerCountry</key>
<value>AT</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>AccountFundingSource</key>
<value>Credit</value>
</detail>
<detail xsi:type="keyBooleanValuePair">
<key>FastFunds</key>
<value>false</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>IssuerName</key>
<value/>
</detail>
</details>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Refund
In order to refund an existing card deposit, the merchant should sent a initiatePaymentFromReference call.
Attention
Refunds may only be sent once the related card deposit has been captured and cleared with the processor (Moneris). Payments are being captured in the morning at 6 am EDT/EST, please do not send refunds before 11 am UTC.
Payments collected for capturing before 5 am EDT/EST are captured one hour later.
Payments can not be refunded before they have been captured and cleared with the processor.
After sending the initiatePaymentFromReference call, the merchant can expect either the state RefundInitiated or *RefundRefusedByProvider. In rare cases (only due to configuration error) RefundErrorOccurred or in case of network issues - RefundCommunicationErrorOccurred. These are standard states for the refund operation.
A payment will be updated from RefundInitiated to Refunded every day at 11 am UTC.
Sample initiatePaymentFromReference request (AMEX Refund):
<initiatePaymentFromReferenceRequest xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<merchantID>{{merchant}}</merchantID>
<shopID>{{shop}}</shopID>
<originalPaymentID>5c505b23-1ed0-4484-821b-d1dc5393a422</originalPaymentID>
<merchantTransactionID>{{refundMerchantTransactionID}}</merchantTransactionID>
<paymentMethodID>115</paymentMethodID>
<amount currencyCode="cad">1</amount>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>PaymentDescription</key>
<value>My refund payment</value>
</data>
</specificPaymentData>
<creationTypeID>3</creationTypeID>
</initiatePaymentFromReferenceRequest>
Sample initiatePaymentFromReference response (AMEX Refund):
<initiatePaymentFromReferenceResponse xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>PaysafeCCDepositsProviderTestingShop</shopID>
<paymentMethod>
<key>115</key>
<value>AMEXRefund</value>
</paymentMethod>
<merchantTransactionID>hc-refund-20250604-134448</merchantTransactionID>
<paymentID>fdf9cb39-875f-4971-8f46-29333fc14e2e</paymentID>
<userID>hc20250530131855</userID>
<paymentProvider>
<key>19</key>
<value>Paysafe</value>
</paymentProvider>
<amount currencyCode="CAD">1</amount>
<creationType>
<key>3</key>
<value>Api</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>81f9d9cb-d18e-4ef8-8a32-de264c6165b5</id>
<definition>
<key>320</key>
<value>RefundInitiated</value>
</definition>
<createdOn>2025-06-04T11:44:50.1729643Z</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">0.72</baseAmount>
<paymentDetails>
<detail xsi:type="keyLongValuePair">
<key>OriginalPaymentID</key>
<value>2150878793</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>f75bf156-af8c-426e-977b-b1ce208737a0</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>2150960442</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>114c9a7f-d137-45ae-a6e8-235fc6b5e4b1</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>IssuerCountry</key>
<value>GB</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>AccountFundingSource</key>
<value>Credit</value>
</detail>
<detail xsi:type="keyBooleanValuePair">
<key>FastFunds</key>
<value>false</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>IssuerName</key>
<value>AMEX UK CONSUMER CHARGE</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>MaskedNumber</key>
<value>374251*****0000</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>AccountOwnerToken</key>
<value>bc55af0e-e033-4d63-9d69-361e854ccdf2</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>ExpiryMonth</key>
<value>12</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>ExpiryYear</key>
<value>2030</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>HolderName</key>
<value>Sir Stenley Roise</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>CardType</key>
<value>AmericanExpress</value>
</detail>
</details>
</paymentAccount>
</payment>
</initiatePaymentFromReferenceResponse>
Testing
Authorization testing with provider
Authorization payments can be tested by passing request with specific payment accounts. The amounts are listed here.
Authorization testing with mock
Additional information on testing specific states such as AuthorizeCommunicationErrorOccurred will be provided on request.
Refund testing with mock
In order test specific test cases, the following mock parameters should be sent in the header of the request:
- x-pxp-scenario-id (a GUID)
- x-pxp-scenario-actions
Expected refund payment state | x-pxp-scenario-actions value |
---|---|
RefundInitiated | RefundRes=status_PENDING |
RefundRefusedByProvider (Error 3402; "The requested Refund amount exceeds the remaining Settlement amount") | RefundRes=refused_Error_3402 |
RefundErrorOccurred (Unexpected status) | RefundRes=UnexpectedStatus_UNKNOWN |
RefundCommunicationErrorOccurred | RefundRes= 500_ResponseWithEmptyContent |
Updated 4 days ago