Credit payment

Credits and payouts using the Backoffice API with card details or registered cards

Learn how to make credits and payouts with the Backoffice API.

You can send a credit payment POST request from server to server. You will need to enter the card details, payment, and billing details. Make this request to the payments endpoint.

Or you can send a credit payment using a card registration from a COPYandPAY checkout. You will need the card registration ID. Make this request to the registrations endpoint.


Credit requests and payouts with card details

Example requests with card details

The first example request shows a basic credit request. Then the other tabs include parameters for payouts, such as Visa Original Credit Transfers (OCT), MasterCard Payment of Winnings with MCC 7995, and MasterCard Send payouts. These parameters are for Trust Payments and PAYSTRAX.

Replace the {channelId} and the {auth_token} with your values.

curl https://eu-test.oppwa.com/v1/payments \
 -d "entityId={channelId}" \
 -d "amount=100.00" \
 -d "currency=EUR" \
 -d "paymentBrand=VISA" \
 -d "paymentType=CD" \
 -d "card.number=4200000000000000" \
 -d "card.holder=John Smith" \
 -d "card.expiryMonth=02" \
 -d "card.expiryYear=2027" \
 -d "card.cvv=123" \
 -d "merchantTransactionId=P175" \
 -d "testMode=EXTERNAL" \
 -H "Authorization: Bearer {auth_token}"
curl https://eu-test.oppwa.com/v1/payments \
 -d "entityId={channelId}" \
 -d "amount=100.00" \
 -d "currency=EUR" \
 -d "paymentBrand=VISA" \
 -d "paymentType=CD" \
 -d "merchant.city=Vancouver" \
 -d "recipient.givenName=Jane" \
 -d "recipient.surname=Smith" \
 -d "recipient.state=QC" \
 -d "recipient.country=CAN" \
 -d "recipient.accountNumberType=RTN_AND_BANK_ACCOUNT" \
 -d "recipient.accountNumber=1234567890" \
 -d "customParameters[CreditSenderName]=John Smith" \
 -d "customParameters[CreditSenderAddress]=Grillparzerstr 18|Munich|BAV|DEU|81675" \
 -d "customParameters[CreditSenderCity]=Munich" \
 -d "customParameters[CreditSenderState]=BAV" \
 -d "customParameters[CreditSenderCountry]=DEU" \
 -d "card.number=4200000000000000" \
 -d "card.holder=John Smith" \
 -d "card.expiryMonth=02" \
 -d "card.expiryYear=2027" \
 -d "card.cvv=123" \
 -d "merchantTransactionId=P175" \
 -d "testMode=EXTERNAL" \
 -H "Authorization: Bearer {auth_token}"
curl https://eu-test.oppwa.com/v1/payments \
 -d "entityId={channelId}" \
 -d "amount=100.00" \
 -d "currency=EUR" \
 -d "paymentBrand=MASTER" \
 -d "paymentType=CD" \
 -d "customer.givenName=John" \
 -d "customer.surname=Smith" \
 -d "customer.phone=0123456789" \
 -d "merchant.city=Vancouver" \
 -d "recipient.givenName=Jane" \
 -d "recipient.surname=Smith" \
 -d "recipient.accountNumberType=RTN_AND_BANK_ACCOUNT" \
 -d "recipient.accountNumber=1234567890" \
 -d "customParameters[TransactionTypeIdentifier]=C55" \
 -d "customParameters[DateOfFunds]=250901" \
 -d "customParameters[AdditionalTrace]=ABC123" \
 -d "customParameters[CreditSenderName]=John Smith" \
 -d "customParameters[CreditSenderAddress]=Grillparzerstr 18|Munich|BAV|DEU|81675" \
 -d "customParameters[CreditSenderCity]=Munich" \
 -d "customParameters[CreditSenderState]=BAV" \
 -d "customParameters[CreditSenderCountry]=DEU" \
 -d "card.number=4200000000000000" \
 -d "card.holder=John Smith" \
 -d "card.expiryMonth=02" \
 -d "card.expiryYear=2027" \
 -d "card.cvv=123" \
 -d "merchantTransactionId=P175" \
 -d "testMode=EXTERNAL" \
 -H "Authorization: Bearer {auth_token}"
curl https://eu-test.oppwa.com/v1/payments \
 -d "entityId={channelId}" \
 -d "amount=100.00" \
 -d "currency=EUR" \
 -d "paymentBrand=MASTER" \
 -d "paymentType=CD" \
 -d "merchant.city=Vancouver" \
 -d "recipient.givenName=Jane" \
 -d "recipient.surname=Smith" \
 -d "recipient.state=QC" \
 -d "recipient.country=CAN" \
 -d "recipient.accountNumberType=RTN_AND_BANK_ACCOUNT" \
 -d "recipient.accountNumber=1234567890" \
 -d "recipient.birthDate=1985-01-01" \
 -d "recipient.phone=0123456789" \
 -d "customParameters[TransactionTypeIdentifier]=C55" \
 -d "customParameters[DateOfFunds]=250901" \
 -d "customParameters[AdditionalTrace]=ABC123" \
 -d "customParameters[CreditSenderName]=John Smith" \
 -d "customParameters[CreditSenderAddress]=Grillparzerstr 18|Munich|BAV|DEU|81675" \
 -d "customParameters[CreditSenderCity]=Munich" \
 -d "customParameters[CreditSenderState]=BAV" \
 -d "customParameters[CreditSenderCountry]=DEU" \
 -d "card.number=4200000000000000" \
 -d "card.holder=John Smith" \
 -d "card.expiryMonth=02" \
 -d "card.expiryYear=2027" \
 -d "card.cvv=123" \
 -d "merchantTransactionId=P175" \
 -d "testMode=EXTERNAL" \
 -H "Authorization: Bearer {auth_token}"

From the payment response, store the id of the successful request for future reference.

For a successful transaction, the response code is 200.


Here is an example response for a successful basic credit transaction in a SERVER-TO-SERVER environment.

{
  "id": "8ac7a4a192b3b5060192b471c0d82dfb",
  "paymentType": "CD",
  "paymentBrand": "VISA",
  "amount": "100.00",
  "currency": "EUR",
  "descriptor": "7548.8324.7369 ECOMChannel ",
  "merchantTransactionId": "P175",
  "result": {
    "code": "000.100.112",
    "description": "Request successfully processed in 'Merchant in Connector Test Mode'"
  },
  "resultDetails": {
    "ExtendedDescription": "Approved or completed successfully",
    "clearingInstituteName": "Postbank P.O.S. Transact GmbH",
    "ConnectorTxID1": "852105",
    "ConnectorTxID3": "26K00001",
    "AcquirerResponse": "00",
    "reconciliationId": "P175",
    "merchantAccountId": "8a8294184f1d2f31014f25d1b00609b9"
  },
  "card": {
    "bin": "420000",
    "last4Digits": "0042",
    "holder": "John Smith",
    "expiryMonth": "02",
    "expiryYear": "2027"
  },
  "risk": {
    "score": "0"
  },
  "buildNumber": "1a09c7f6b69eaea67758a3050d39aeeeeec97625@2024-10-21 15:02:36 +0000",
  "timestamp": "2024-10-22 13:36:46+0000",
  "ndc": "8ac7a4c890fc748b0190fe6ad56b0241_cf4d3a0aa0f342e3a5837f7af9b5d994",
  "source": "OPP",
  "paymentMethod": "CC",
  "shortId": "7548.8324.7369"
}

For full details of how to interpret a transaction response, see Transaction results.

For the gateway documentation of the Backoffice API, see Gateway Backoffice API documentation for Payout. Note that the credit request is described as a payout because the most common use case for this request is to make a standalone refund to a customer when a regular refund is not possible.


Test credit and payout with card details

You can test this request at Gateway Playground Credit Payment with the parameters as shown in the sample data here.

The first example request shows a basic credit request. Then the other tabs include parameters for payouts, such as Visa Original Credit Transfers (OCT), MasterCard Payment of Winnings with MCC 7995, and MasterCard Send payouts. These parameters are for Trust Payments and PAYSTRAX.

entityId={channelId}
amount=100.00
currency=EUR
paymentBrand=VISA
paymentType=CD
card.number=4200000000000000
card.holder=John Smith
card.expiryMonth=02
card.expiryYear=2027
card.cvv=123
merchantTransactionId=P175
testMode=EXTERNAL
entityId={channelId}
amount=100.00
currency=EUR
paymentBrand=VISA
paymentType=CD
merchant.city=Vancouver
recipient.givenName=Jane
recipient.surname=Smith
recipient.state=QC
recipient.country=CAN
recipient.accountNumberType=RTN_AND_BANK_ACCOUNT
recipient.accountNumber=1234567890
customParameters[CreditSenderName]=John Smith
customParameters[CreditSenderAddress]=Grillparzerstr 18|Munich|BAV|DEU|81675
customParameters[CreditSenderCity]=Munich
customParameters[CreditSenderState]=BAV
customParameters[CreditSenderCountry]=DEU
card.number=4200000000000000
card.holder=John Smith
card.expiryMonth=02
card.expiryYear=2027
card.cvv=123
merchantTransactionId=P175
testMode=EXTERNAL
entityId={channelId}
amount=100.00
currency=EUR
paymentBrand=MASTER
paymentType=CD
customer.givenName=John
customer.surname=Smith
customer.phone=0123456789
merchant.city=Vancouver
recipient.givenName=Jane
recipient.surname=Smith
recipient.accountNumberType=RTN_AND_BANK_ACCOUNT
recipient.accountNumber=1234567890
customParameters[TransactionTypeIdentifier]=C55
customParameters[DateOfFunds]=250901
customParameters[AdditionalTrace]=ABC123
customParameters[CreditSenderName]=John Smith
customParameters[CreditSenderAddress]=Grillparzerstr 18|Munich|BAV|DEU|81675
customParameters[CreditSenderCity]=Munich
customParameters[CreditSenderState]=BAV
customParameters[CreditSenderCountry]=DEU
card.number=4200000000000000
card.holder=John Smith
card.expiryMonth=02
card.expiryYear=2027
card.cvv=123
merchantTransactionId=P175
testMode=EXTERNAL
entityId={channelId}
amount=100.00
currency=EUR
paymentBrand=MASTER
paymentType=CD
merchant.city=Vancouver
recipient.givenName=Jane
recipient.surname=Smith
recipient.state=QC
recipient.country=CAN
recipient.accountNumberType=RTN_AND_BANK_ACCOUNT
recipient.accountNumber=1234567890
recipient.birthDate=1985-01-01
recipient.phone=0123456789
customParameters[TransactionTypeIdentifier]=C55
customParameters[DateOfFunds]=250901
customParameters[AdditionalTrace]=ABC123
customParameters[CreditSenderName]=John Smith
customParameters[CreditSenderAddress]=Grillparzerstr 18|Munich|BAV|DEU|81675
customParameters[CreditSenderCity]=Munich
customParameters[CreditSenderState]=BAV
customParameters[CreditSenderCountry]=DEU
card.number=4200000000000000
card.holder=John Smith
card.expiryMonth=02
card.expiryYear=2027
card.cvv=123
merchantTransactionId=P175
testMode=EXTERNAL


Credits and payouts with registered cards

You can make a credit request using card details you previously registered, for example, for metered payments or one-click checkout. You will need the card token registrationId but you do not need to add any other specific parameters or customer details to the request.


Example requests with registered card

The first example shows a basic credit request. Then the next tabs include the parameters for payouts, with Visa Original Credit Transfers (OCT), MasterCard Payment of Winnings with MCC 7995, and MasterCard Send payouts. These parameters are for Trust Payments and PAYSTRAX.

Replace the {channelId} and the {auth_token} with your values.

curl https://eu-test.oppwa.com/v1/registrations/{id}/payments \
 -d "entityId={channelId}" \
 -d "paymentType=CD" \
 -d "amount=17.99" \
 -d "currency=EUR" \
 -d "merchantTransactionId=P175" \
 -d "testMode=EXTERNAL" \
 -H "Authorization: Bearer {auth_token}"
curl https://eu-test.oppwa.com/v1/registrations/{id}/payments \
 -d "entityId={channelId}" \
 -d "amount=100.00" \
 -d "currency=EUR" \
 -d "paymentBrand=VISA" \
 -d "paymentType=CD" \
 -d "merchant.city=Vancouver" \
 -d "recipient.givenName=Jane" \
 -d "recipient.surname=Smith" \
 -d "recipient.state=QC" \
 -d "recipient.country=CAN" \
 -d "recipient.accountNumberType=RTN_AND_BANK_ACCOUNT" \
 -d "recipient.accountNumber=1234567890" \
 -d "customParameters[CreditSenderName]=John Smith" \
 -d "customParameters[CreditSenderAddress]=Grillparzerstr 18|Munich|BAV|DEU|81675" \
 -d "customParameters[CreditSenderCity]=Munich" \
 -d "customParameters[CreditSenderState]=BAV" \
 -d "customParameters[CreditSenderCountry]=DEU" \
 -d "merchantTransactionId=P175" \
 -d "testMode=EXTERNAL" \
 -H "Authorization: Bearer {auth_token}"
curl https://eu-test.oppwa.com/v1/registrations/{id}/payments \
 -d "entityId={channelId}" \
 -d "amount=100.00" \
 -d "currency=EUR" \
 -d "paymentBrand=MASTER" \
 -d "paymentType=CD" \
 -d "customer.givenName=John" \
 -d "customer.surname=Smith" \
 -d "customer.phone=0123456789" \
 -d "merchant.city=Vancouver" \
 -d "recipient.givenName=Jane" \
 -d "recipient.surname=Smith" \
 -d "recipient.accountNumberType=RTN_AND_BANK_ACCOUNT" \
 -d "recipient.accountNumber=1234567890" \
 -d "customParameters[TransactionTypeIdentifier]=C55" \
 -d "customParameters[DateOfFunds]=250901" \
 -d "customParameters[AdditionalTrace]=ABC123" \
 -d "customParameters[CreditSenderName]=John Smith" \
 -d "customParameters[CreditSenderAddress]=Grillparzerstr 18|Munich|BAV|DEU|81675" \
 -d "customParameters[CreditSenderCity]=Munich" \
 -d "customParameters[CreditSenderState]=BAV" \
 -d "customParameters[CreditSenderCountry]=DEU" \
 -d "merchantTransactionId=P175" \
 -d "testMode=EXTERNAL" \
 -H "Authorization: Bearer {auth_token}"
curl https://eu-test.oppwa.com/v1/registrations/{id}/payments \
 -d "entityId={channelId}" \
 -d "amount=100.00" \
 -d "currency=EUR" \
 -d "paymentBrand=MASTER" \
 -d "paymentType=CD" \
 -d "merchant.city=Vancouver" \
 -d "recipient.givenName=Jane" \
 -d "recipient.surname=Smith" \
 -d "recipient.state=QC" \
 -d "recipient.country=CAN" \
 -d "recipient.accountNumberType=RTN_AND_BANK_ACCOUNT" \
 -d "recipient.accountNumber=1234567890" \
 -d "recipient.birthDate=1985-01-01" \
 -d "recipient.phone=0123456789" \
 -d "customParameters[TransactionTypeIdentifier]=C55" \
 -d "customParameters[DateOfFunds]=250901" \
 -d "customParameters[AdditionalTrace]=ABC123" \
 -d "customParameters[CreditSenderName]=John Smith" \
 -d "customParameters[CreditSenderAddress]=Grillparzerstr 18|Munich|BAV|DEU|81675" \
 -d "customParameters[CreditSenderCity]=Munich" \
 -d "customParameters[CreditSenderState]=BAV" \
 -d "customParameters[CreditSenderCountry]=DEU" \
 -d "merchantTransactionId=P175" \
 -d "testMode=EXTERNAL" \
 -H "Authorization: Bearer {auth_token}"

From the payment response, store the id of the successful request for future reference.

For a successful transaction, the response code is 200.


Here is an example response for the successful basic credit test transaction with a registered card.

{
  "id":"8ac7a4a09780fc6a01978219fe113f61",
  "paymentType":"CD",
  "amount":"17.99",
  "currency":"EUR",
  "descriptor":"0552.1149.6322 MOTOChannel ",
  "merchantTransactionId":"P175",
  "result":{
    "code":"000.100.112",
    "description":"Request successfully processed in 'Merchant in Connector Test Mode'"
  },
  "resultDetails":{
    "ExtendedDescription":"Approved or completed successfully",
    "clearingInstituteName":"Postbank P.O.S. Transact GmbH",
    "ConnectorTxID1":"700676",
    "ConnectorTxID3":"26K00001",
    "AcquirerResponse":"00",
    "reconciliationId":"P175",
    "merchantAccountId":"8a8294184f1d2f31014f25d1b00609b9"
  },
  "risk":{
    "score":"0"
  },
  "buildNumber":"e1ddd751d5b4a7bd89ed8838e38be61e687f3b56@2025-06-18 00:42:25 +0000",
  "timestamp":"2025-06-18 08:13:51+0000",
  "ndc":"8ac7a4c890fc748b0190fe6a7ad7023d_cde0a8b44ca04423be063deceabb763e",
  "standingInstruction":{
    "source":"MIT",
    "type":"UNSCHEDULED",
    "mode":"REPEATED"
  },
  "source":"OPP",
  "paymentMethod":"CC",
  "shortId":"0552.1149.6322"
}

Test credit with registered card

To try this in the gateway playground, see the section on Sending a subsequent payment in the Gateway Backoffice API documentation for Card on File. Use the payment type CD and the set of parameters as shown in the following example.

The first example request shows a basic credit request with a registered card. Then the other tabs have requests with parameters for payouts, such as Visa Original Credit Transfers (OCT), MasterCard Payment of Winnings with MCC 7995, and MasterCard Send payouts. These parameters are for Trust Payments and PAYSTRAX.

entityId={channelId}
paymentType=CD
amount=17.99
currency=EUR
merchantTransactionId=P175
testMode=EXTERNAL 
entityId={channelId}
amount=100.00
currency=EUR
paymentBrand=VISA
paymentType=CD
merchant.city=Vancouver
recipient.givenName=Jane
recipient.surname=Smith
recipient.state=QC
recipient.country=CAN
recipient.accountNumberType=RTN_AND_BANK_ACCOUNT
recipient.accountNumber=1234567890
customParameters[CreditSenderName]=John Smith
customParameters[CreditSenderAddress]=Grillparzerstr 18|Munich|BAV|DEU|81675
customParameters[CreditSenderCity]=Munich
customParameters[CreditSenderState]=BAV
customParameters[CreditSenderCountry]=DEU
merchantTransactionId=P175
testMode=EXTERNAL
entityId={channelId}
amount=100.00
currency=EUR
paymentBrand=MASTER
paymentType=CD
customer.givenName=John
customer.surname=Smith
customer.phone=0123456789
merchant.city=Vancouver
recipient.givenName=Jane
recipient.surname=Smith
recipient.accountNumberType=RTN_AND_BANK_ACCOUNT
recipient.accountNumber=1234567890
customParameters[TransactionTypeIdentifier]=C55
customParameters[DateOfFunds]=250901
customParameters[AdditionalTrace]=ABC123
customParameters[CreditSenderName]=John Smith
customParameters[CreditSenderAddress]=Grillparzerstr 18|Munich|BAV|DEU|81675
customParameters[CreditSenderCity]=Munich
customParameters[CreditSenderState]=BAV
customParameters[CreditSenderCountry]=DEU
merchantTransactionId=P175
testMode=EXTERNAL
entityId={channelId}
amount=100.00
currency=EUR
paymentBrand=MASTER
paymentType=CD
merchant.city=Vancouver
recipient.givenName=Jane
recipient.surname=Smith
recipient.state=QC
recipient.country=CAN
recipient.accountNumberType=RTN_AND_BANK_ACCOUNT
recipient.accountNumber=1234567890
recipient.birthDate=1985-01-01
recipient.phone=0123456789
customParameters[TransactionTypeIdentifier]=C55
customParameters[DateOfFunds]=250901
customParameters[AdditionalTrace]=ABC123
customParameters[CreditSenderName]=John Smith
customParameters[CreditSenderAddress]=Grillparzerstr 18|Munich|BAV|DEU|81675
customParameters[CreditSenderCity]=Munich
customParameters[CreditSenderState]=BAV
customParameters[CreditSenderCountry]=DEU
merchantTransactionId=P175
testMode=EXTERNAL

To obtain more information about a credit request in general, see the Gateway Backoffice API documentation for Payout, which is the SERVER-TO-SERVER version of this request.



Payout requests parameters table

The following table provides more details about the above parameters.

KeyExample ValueValue Format / OptionsMandatory
entityId{channelId}AN32Yes
amount100.00N10.N2Yes
currencyEURA3Yes
merchantTransactionIdABC123AN..255No, but recommended
paymentBrandMASTERVISA, MASTER...Yes
paymentTypeCDCDYes
customer.givenNameJohnAN..50Yes for Mastercard Payment of Winnings - MCC 7995.
customer.surnameSmithAN..50Yes for Mastercard Payment of Winnings - MCC 7995.
customer.phone
customer.mobile
0123456789AN..25Yes for Mastercard Payment of Winnings - MCC 7995.
merchant.cityVancouverANS13Yes
recipient.givenNameJaneAN48Yes
recipient.surnameSmithAN48Yes
recipient.stateQCANS..3Yes for Visa OCTs and Mastercard Send to US and Canada
recipient.countryCANA3Yes for Visa OCTs and Mastercard Send to US and Canada
recipient.
accountNumberType
RTNAND
BANK_ACCOUNT
Indicates type of
recipient's account.
Possible values are: OTHER RTN_AND_BANK_ACCOUNT
IBAN
EMAIL PHONE_NUMBER BAN_AND_BIC WALLET_ID SOCIAL_NETWORK_ID
Yes
recipient.accountNumber1234567890ANS..50Yes
customParameters[
TransactionTypeIdentifier]
C04Possible values are:
C04 - Gaming Replay
C07 - Moneysend General Person to Person Transfer
C52 - Moneysend General Transfer to Own Account
C53 - Moneysend Agent Cash Out
C54 - Moneysend Payment of Own Credit Card Bill
C55 - Moneysend Business Disbursement
C56 - Moneysend Govt. Non Profit Disbursement
C57 - Rapid Merchant Settlement
C65 - General Business to Business Transfer
Yes for Mastercard Send Payment and Payment of Winnings transactions
customParameters[
DateOfFunds]
250901YYMMDDYes for Mastercard Send Payment and Payment of Winnings - MCC 7995
customParameters[
AdditionalTrace]
ABC123N19 (should be unique per transaction)Yes for Mastercard Send Payment and Payment of Winnings - MCC 7995
customParameters[
CreditSenderName]
Jane SmithAN..30Yes
customParameters[
CreditSenderAddress]
Grillparzerstr 18|
Munich|BAV|
DEU|81675
AN.. 35
Street|City|StateCode(US Only)|ISO3166 CountryCode|PostalCode
Yes
customParameters[
CreditSenderCity]
MunichAN..25Yes
customParameters[
CreditSenderState]
BAVAN3Yes
customParameters[
CreditSenderCountry]
DEUAN3Yes