Requests
Pay
The Pay action is the default action. The action is used to perform a single payment with a credit card.
This action does not have service specific request variables. Advised is to use the basic parameter ClientIP so you have the option to block an IP-address if necessary in the future.
Use the base request as instructed on this page
Pay request
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
ClientIP | String | No | Yes | The IP address of the client. I'ts recommended to send this in the request so it is possible to block a user based on their IP. |
Example request
{
"Currency": "EUR",
"AmountDebit": 10.00,
"Invoice": "testinvoice 123",
"ClientIP": {
"Type": 0,
"Address": "0.0.0.0"
},
"Services": {
"ServiceList": [
{
"Name": "mastercard",
"Action": "Pay"
}
]
}
}
Pay reponse
If the request has a valid structure and a valid signature, a transaction will be created in the Payment Engine and a response will be returned. In this case, an additional action is required before the transaction can be completed. The customer needs to be redirected to the payment environment through the returned redirectURL.
Parameters
Example response
{
"Key": "13FAF43579D94F5FB8119A6819XXXXXX",
"Status": {
"Code": {
"Code": 790,
"Description": "Pending input"
},
"SubCode": null,
"DateTime": "2017-03-28T11:41:10"
},
"RequiredAction": {
"RedirectURL": "https://testcheckout.buckaroo.nl/html/redirect.ashx?r=AF51FAF1DECC422F936F06D565XXXXXX",
"RequestedInformation": null,
"PayRemainderDetails": null,
"Name": "Redirect",
"TypeDeprecated": 0
},
"Services": null,
"CustomParameters": null,
"AdditionalParameters": null,
"RequestErrors": null,
"Invoice": "testinvoice 123",
"ServiceCode": null,
"IsTest": true,
"Currency": "EUR",
"AmountDebit": 10,
"TransactionType": null,
"MutationType": 0,
"RelatedTransactions": null,
"ConsumerMessage": null,
"Order": null,
"IssuingCountry": null,
"StartRecurrent": false,
"Recurring": false,
"CustomerName": null,
"PayerHash": null,
"PaymentKey": null}
Pay push
If the request has a valid structure and a valid signature, a transaction will be created in the Payment Engine and a response will be returned. In this case, an additional action is required before the transaction can be completed. The customer needs to be redirected to the payment environment through the returned redirectURL.
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
CarNumberEnding | String | N/A | N/A | Last 4 digits of the creditcard number. |
Enrolled | String | N/A | N/A | The enrolled status. |
|
Example push
{
"Transaction": {
"Key": "13FAF43579D94F5FB8119A6819XXXXXX",
"Invoice": "testinvoice 123",
"ServiceCode": "mastercard",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S001",
"Description": "Transaction successfully processed"
},
"DateTime": "2017-03-28T11:42:41"
},
"IsTest": true,
"Order": null,
"Currency": "EUR",
"AmountDebit": 10,
"TransactionType": "V089",
"Services": [
{
"Name": "mastercard",
"Action": null,
"Parameters": [
{
"Name": "CardNumberEnding",
"Value": "0632"
},
{
"Name": "CardExpirationDate",
"Value": "2017-03"
},
{
"Name": "MaskedCreditcardNumber",
"Value": "513847******0632"
},
{
"Name": "Enrolled",
"Value": "Y"
},
{
"Name": "Authentication",
"Value": "Y"
}
],
"VersionAsProperty": 1
}
],
"CustomParameters": null,
"AdditionalParameters": null,
"MutationType": 2,
"RelatedTransactions": null,
"IsCancelable": false,
"IssuingCountry": "FR",
"StartRecurrent": false,
"Recurring": false,
"CustomerName": "T. Tester",
"PayerHash": "974da7e5d169362946eae68e095bdf88e0dc5c8dd51c932ebf3f81ab9b35e699297c7582b9cd7cda3e63ba11cc116e73e46cf27e51df3ce195bfd402b271af22",
"PaymentKey": "8F813B002FDA4DF1A0314E2CFAXXXXXX"
}
}
PayEncrypted
For a regular Pay action, the consumer has to be redirected to our checkout to fill in its card data. With this action and our Client Side Encryption SDK we have introduced a way where this redirection is not necessary and you can ask for the consumers' card data on your own webshop. All you have to do is encrypt the card data with our Client Side Encryption SDK (for more info on our Client Side Encryption SDK, click here) and call this action with the "EncryptedCardData"-parameter. The value of this parameter is the result of the "encryptCardData"-function in our CSE SDK.
Use the base request as instructed on this page
PayEncrypted request
Client-Side Encryption integrations are only supported when you are PCI SAQ-A EP compliant. More information can be found here: Self-Assessment Questionnaire A-EP and Attestation of Compliance
For a regular Pay action, the consumer has to be redirected to our checkout to fill in its card data. With this action and our Client Side Encryption SDK we have introduced a way where this redirection is not necessary and you can ask for the consumers' card data on your own webshop. All you have to do is encrypt the card data with our Client Side Encryption SDK (for more info on our Client Side Encryption SDK, click here) and call this action with the "EncryptedCardData"-parameter. The value of this parameter is the result of the "encryptCardData"-function in our CSE SDK.
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
EncryptedCardData | String | Yes | N/A | The value of this parameter is the result of the "encryptCardData"-function of our Client Side Encryption SDK. |
Example request
{
"Currency": "EUR",
"AmountDebit": 0.01,
"Invoice": "PayEncryptedTest123",
"Description": "PayEncrypted Test 123",
"Services": {
"ServiceList": [
{
"Name": "Mastercard",
"Action": "PayEncrypted",
"Version": 0,
"Parameters": [
{
"Name": "EncryptedCardData",
"GroupType": "",
"GroupID": "",
"Value": "001u8gJNwngKubFCO6FmJod6aESlIFATkKYaj47KlgBp7f3NeVxUzChg1Aug7WD2vc5wut2KU9NPLUaO0tFmzhVLZoDWn7dX4AzGxSjPrsPmDMWYcEkIwMZfcyJqoRfFkF3j15mil3muXxhR1a609NfkTo11J3ENVsvU3k60z+x0jCw6NjzbrweVQhBRkrbs7TBJkS4tR38JiDsXyH2E1JmRHE+o2P9qz4at6w3zggmwImvjt5IIjEr6g8KfsIDXfv7YjEzhJ3P+7uuGoyG2WYm/Pr0+iEmTj5Q/ijkxu1+cDqv5eiB+80KgffPItUZDrnv9sKlVBAr+f53nm1G+Sxp0Q=="
}
]
}
]
}
}
PayEncrypted response
The response is the same as the Pay response.
Parameters
Example response
{
"Key": "051911FB5C0742FD8F5C1B93CFXXXXXX",
"Status": {
"Code": {
"Code": 791,
"Description": "Pending processing"
},
"SubCode": {
"Code": "S002",
"Description": "An additional action is required: RedirectToConsumerBank"
},
"DateTime": "2018-10-19T10:54:47"
},
"RequiredAction": {
"RedirectURL": "https://testcheckout.buckaroo.nl/html/redirect.ashx?r=5C927695D7EA4EBEB48CF34B65XXXXXX",
"RequestedInformation": null,
"PayRemainderDetails": null,
"Name": "Redirect",
"TypeDeprecated": 0
},
"Services": [
{
"Name": "mastercard",
"Action": null,
"Parameters": [
{
"Name": "CardNumberEnding",
"Value": "0000"
},
{
"Name": "CardExpirationDate",
"Value": "2019-04"
},
{
"Name": "MaskedCreditcardNumber",
"Value": "538686******0000"
},
{
"Name": "Enrolled",
"Value": "Y"
}
]
}
],
"CustomParameters": null,
"AdditionalParameters": null,
"RequestErrors": null,
"Invoice": "PayEncryptedTest123",
"ServiceCode": "mastercard",
"IsTest": true,
"Currency": "EUR",
"AmountDebit": 0.01,
"TransactionType": "C089",
"MutationType": 1,
"RelatedTransactions": null,
"ConsumerMessage": null,
"Order": null,
"IssuingCountry": "FR",
"StartRecurrent": false,
"Recurring": false,
"CustomerName": "Automated Encryptietest",
"PayerHash": "974da7e5d169362946eae68e095bdf88e0dc5c8dd51c932ebf3f81ab9b35e699297c7582b9cd7cda3e63ba11cc116e73e46cf27e51df3ce195bfd402b271af22",
"PaymentKey": "7B595AFEEA77431EA3F6D46E54XXXXXX"
}
PayEncrypted push
The push is almost the same as the Pay push, except for the ClientSideEncryptionVersion parameter.
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
ClientSideEncryptionVersion | String | Yes | N/A | The Client Side Encryption version that is used to encrypt the card data. |
Example push
{
"Transaction":{
"Key":"051911FB5C0742FD8F5C1B93CFXXXXXX",
"Invoice":"PayEncryptedTest123",
"ServiceCode":null,
"Status":{
"Code":{
"Code":190,
"Description":"Success"
},
"SubCode":{
"Code":"S990",
"Description":"The request was successful."
},
"DateTime":"2018-10-20T05:15:06"
},
"IsTest":true,
"Order":null,
"Currency":"EUR",
"AmountDebit":0.01,
"TransactionType":"C089",
"Services":[
{
"Name":"Mastercard",
"Action":null,
"Parameters":[
{
"Name":"ClientSideEncryptionVersion",
"Value":"1"
}
]
},
{
"Name":"mastercard",
"Action":null,
"Parameters":[
{
"Name":"CardNumberEnding",
"Value":"0000"
},
{
"Name":"CardExpirationDate",
"Value":"2019-04"
},
{
"Name":"MaskedCreditcardNumber",
"Value":"538686******0000"
},
{
"Name":"Enrolled",
"Value":"Y"
}
],
"VersionAsProperty":1
}
],
"CustomParameters":null,
"AdditionalParameters":null,
"MutationType":1,
"RelatedTransactions":null,
"IsCancelable":false,
"IssuingCountry":"FR",
"StartRecurrent":false,
"Recurring":false,
"CustomerName":"Automated Encryptietest",
"PayerHash":"974da7e5d169362946eae68e095bdf88e0dc5c8dd51c932ebf3f81ab9b35e699297c7582b9cd7cda3e63ba11cc116e73e46cf27e51df3ce195bfd402b271af22",
"PaymentKey":"7B595AFEEA77431EA3F6D46E54XXXXXX"
}
}
PayWithSecurityCode
When you want your returning customers not having to fill in al their card data again but still want to perform 3DS authentication, you can use this action. With this action and our Client Side Encryption SDK we have introduced a way where you only have to ask for the consumers' security code (CVC) on your webshop and send in the OriginalTransactionKey of the first transaction of this customer. All you have to do is encrypt the security code with our Client Side Encryption SDK (for more info on our Client Side Encryption SDK, click here) and call this action with the "EncryptedSecurityCode"-parameter. The value of this parameter is the result of the "encryptSecurityCode"-function in our CSE SDK.
Use the base request as instructed on this page
Pay request
The request is much like the Pay request, except for the EncryptedSecurityCode parameter.
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
EncryptedSecurityCode | String | Yes | Yes | The value of this parameter is the result of the "encryptSecurityCode"-function of our Client Side Encryption SDK. |
OriginalTransactionKey | String | Yes | Transaction key of the initial transaction from where the card data should be copied. Please note: This is a basic parameter, not a service specific parameter. |
Example request
{
"Invoice": "PayWithSecurityCodeTest",
"Description": "PayWithSecurityCodeTest",
"Currency": "EUR",
"AmountDebit": 0.01,
"OriginalTransactionKey": "6C5DBB69E74644958F8C25199514DC6C",
"Services": {
"ServiceList": [
{
"Name": "mastercard",
"Action": "PayWithSecurityCode",
"Parameters": [
{
"Name": "EncryptedSecurityCode",
"Value": "001F3AJT7wkJa04zE8c78P7spOAgHSKH1YKgPlOwXhW049VfIXMwZO32RYna9xZRyUCtfODIoCL8GRQoaZbStlBT4rbF5e4PPvWFSKdvua4rq+GQDNAghfa+ZQz0BzBPfjS0WBdFape9n3zH2vC/0m+wI3QZiDpYYgyWC1/Y3udJDU7JRTVMq/BDHGet+IZ2CDnkeGl813kkYymzYon/QeuQRQ0Wsec5bmVQNYGx62fz70/vLgs0ffff+6DtZtnZWfByRkTwMNebJotlOsSkbhVR5FrHpAbNPCJI+LvJcJL7Eoo+ZuX5/LWGmsT6qnR/uLiIw1DI7mTKGy6/P7IljAE+g=="
}
]
}
]
}
}
PayWithSecurityCode response
The response is the same as the Pay response.
Parameters
Example response
{
"Key": "FFCB3927675A4AD7912A5447E98F5F26",
"Status": {
"Code": {
"Code": 791,
"Description": "Pending processing"
},
"SubCode": {
"Code": "S002",
"Description": "An additional action is required: TestStatusRedirect"
},
"DateTime": "2020-03-23T16:19:18"
},
"RequiredAction": {
"RedirectURL": "https://testcheckout.buckaroo.nl/html/redirect.ashx?r=2EB891F035114226824BC56AFDB33B54",
"RequestedInformation": null,
"PayRemainderDetails": null,
"Name": "Redirect",
"TypeDeprecated": 0
},
"Services": [
{
"Name": "mastercard",
"Action": null,
"Parameters": [
{
"Name": "CardNumberEnding",
"Value": "0000"
},
{
"Name": "CardExpirationDate",
"Value": "2023-01"
},
{
"Name": "MaskedCreditcardNumber",
"Value": "538686******0000"
},
{
"Name": "ThreeDsVersion",
"Value": "1.0.2"
},
{
"Name": "Enrolled",
"Value": "N"
}
]
}
],
"CustomParameters": null,
"AdditionalParameters": null,
"RequestErrors": null,
"Invoice": "PayWithSecurityCodeTest",
"ServiceCode": "mastercard",
"IsTest": true,
"Currency": "EUR",
"AmountDebit": 0.01,
"TransactionType": "C876",
"MutationType": 1,
"RelatedTransactions": [
{
"RelationType": "copied_card_data",
"RelatedTransactionKey": "6C5DBB69E74644958F8C25199514DC6C"
}
],
"ConsumerMessage": null,
"Order": null,
"IssuingCountry": "NL",
"StartRecurrent": false,
"Recurring": false,
"CustomerName": "tes test",
"PayerHash": "4dc3aefaa23fd5d23986186f0b4dc8d25549ac4957338054080928de4d1f76e14c7a1477571ffe1952bc9bb7b63f731930599ae93f0c0d544714b4023eecf8a0",
"PaymentKey": "B2A282CE7C024F0F960EC54122840D12"
}
PayWithSecurityCode push
The push is almost the same as the Pay push, except for the ClientSideEncryptionVersion parameter.
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
ClientSideEncryptionVersion | String | N/A | N/A | The Client Side Encryption version that is used to encrypt the security code. |
Example push
{
"Transaction":{
"Key":"FFCB3927675A4AD7912A5447E98F5F26",
"Invoice":"PayWithSecurityCodeTest",
"ServiceCode":"mastercard",
"Status":{
"Code":{
"Code":190,
"Description":"Success"
},
"SubCode":{
"Code":"S990",
"Description":"The request was successful."
},
"DateTime":"2020-03-23T16:21:37"
},
"IsTest":true,
"Order":null,
"Currency":"EUR",
"AmountDebit":0.01,
"TransactionType":"C876",
"Services":[
{
"Name":"Mastercard",
"Action":null,
"Parameters":[
{
"Name":"ClientSideEncryptionVersion",
"Value":"1"
}
]
},
{
"Name":"mastercard",
"Action":null,
"Parameters":[
{
"Name":"CardNumberEnding",
"Value":"0000"
},
{
"Name":"CardExpirationDate",
"Value":"2023-01"
},
{
"Name":"MaskedCreditcardNumber",
"Value":"538686******0000"
},
{
"Name":"ThreeDsVersion",
"Value":"1.0.2"
},
{
"Name":"Enrolled",
"Value":"N"
},
{
"Name":"Authentication",
"Value":"Y"
}
],
"VersionAsProperty":1
}
],
"CustomParameters":null,
"AdditionalParameters":null,
"MutationType":1,
"RelatedTransactions":[
{
"RelationType":"copied_card_data",
"RelatedTransactionKey":"6C5DBB69E74644958F8C25199514DC6C"
}
],
"IsCancelable":false,
"IssuingCountry":"NL",
"StartRecurrent":false,
"Recurring":false,
"CustomerName":"tes test",
"PayerHash":"4dc3aefaa23fd5d23986186f0b4dc8d25549ac4957338054080928de4d1f76e14c7a1477571ffe1952bc9bb7b63f731930599ae93f0c0d544714b4023eecf8a0",
"PaymentKey":"B2A282CE7C024F0F960EC54122840D12"
}
}
Refund
Refund request
The Refund action can be used to perform a refund on an earlier credit card transaction. There is no customer interaction needed to do this.
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
OriginalTransactionKey | String | Yes | N/A | Transaction key of the payment that needs to be refunded. Please note: This is a basic parameter, not a service specific parameter. |
Example request
{
"Currency": "EUR",
"AmountCredit": 1.00,
"Invoice": "testinvoice 123",
"OriginalTransactionKey": "13FAF43579D94F5FB8119A6819XXXXXX",
"Services": {
"ServiceList": [
{
"Name": "mastercard",
"Action": "Refund"
}
]
}
}
Refund response
Parameters
Example response
{
"Key": "7E1AD3268A4C49D496BEEFC300XXXXXX",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S001",
"Description": "Transaction successfully processed"
},
"DateTime": "2017-03-28T11:48:10"
},
"RequiredAction": null,
"Services": null,
"CustomParameters": null,
"AdditionalParameters": null,
"RequestErrors": null,
"Invoice": "testinvoice 123",
"ServiceCode": "mastercard",
"IsTest": true,
"Currency": "EUR",
"AmountCredit": 1,
"TransactionType": "V197",
"MutationType": 2,
"RelatedTransactions": [
{
"RelationType": "refund",
"RelatedTransactionKey": "13FAF43579D94F5FB8119A6819XXXXXX"
}
],
"ConsumerMessage": null,
"Order": null,
"IssuingCountry": null,
"StartRecurrent": false,
"Recurring": false,
"CustomerName": "T. Tester",
"PayerHash": null,
"PaymentKey": "A9025EE92CBC4CDD94F9C83F0FXXXXXX"
}
Refund push
Parameters
Example push
{
"Transaction": {
"Key": "7E1AD3268A4C49D496BEEFC300XXXXXX",
"Invoice": "testinvoice 123",
"ServiceCode": "mastercard",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S001",
"Description": "Transaction successfully processed"
},
"DateTime": "2017-03-28T11:48:10"
},
"IsTest": true,
"Order": null,
"Currency": "EUR",
"AmountCredit": 1,
"TransactionType": "V197",
"Services": null,
"CustomParameters": null,
"AdditionalParameters": null,
"MutationType": 2,
"RelatedTransactions": [
{
"RelationType": "refund",
"RelatedTransactionKey": "13FAF43579D94F5FB8119A6819XXXXXX"
}
],
"IsCancelable": false,
"IssuingCountry": null,
"StartRecurrent": false,
"Recurring": false,
"CustomerName": "T. Tester",
"PayerHash": null,
"PaymentKey": "A9025EE92CBC4CDD94F9C83F0FXXXXXX"
}
}
Authorize
Authorize request
The Authorize action allows a merchant to make a reservation for a specific amount on a customer’s creditcard. Referring to this authorization, it is then possible at a later time to perform 1 or more charges on the customers creditcard for a total of up to the requested amount. Since an authorize makes a reservation on a credit card, it lowers the available spending limit on a credit card. A recurrent payment is also possible on an authorize. In that case, add the basic parameter StartRecurrent with value "true" in your request.
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
ClientIP | String | No | Yes | The IP address of the client. I'ts recommended to send this in the request so it is possible to block a user based on their IP. |
Example request
{
"Currency": "EUR",
"AmountDebit": 10.00,
"Invoice": "testinvoice 123",
"ClientIP": {
"Type": 0,
"Address": "0.0.0.0"
},
"Services": {
"ServiceList": [
{
"Name": "mastercard",
"Action": "Authorize",
}
]
}
}
Authorize response
If the request has a valid structure and a valid signature, a transaction will be created in the Payment Engine and a response will be returned. In this case, an additional action is required before the transaction can be completed. The customer needs to be redirected to the payment environment through the returned redirectURL.
Parameters
Example response
{
"Key": "571457E371FB494FB0E67C99CFXXXXXX",
"Status": {
"Code": {
"Code": 790,
"Description": "Pending input"
},
"SubCode": null,
"DateTime": "2017-03-28T11:50:19"
},
"RequiredAction": {
"RedirectURL": "https://testcheckout.buckaroo.nl/html/redirect.ashx?r=B3B96BC48B2C464D9027742FA0XXXXXX",
"RequestedInformation": null,
"PayRemainderDetails": null,
"Name": "Redirect",
"TypeDeprecated": 0
},
"Services": null,
"CustomParameters": null,
"AdditionalParameters": null,
"RequestErrors": null,
"Invoice": "testinvoice 123",
"ServiceCode": null,
"IsTest": true,
"Currency": "EUR",
"AmountDebit": 10,
"TransactionType": null,
"MutationType": 0,
"RelatedTransactions": null,
"ConsumerMessage": null,
"Order": null,
"IssuingCountry": null,
"StartRecurrent": false,
"Recurring": false,
"CustomerName": null,
"PayerHash": null,
"PaymentKey": null
}
Authorize push
If the request has a valid structure and a valid signature, a transaction will be created in the Payment Engine and a response will be returned. In this case, an additional action is required before the transaction can be completed. The customer needs to be redirected to the payment environment through the returned redirectURL.
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
CardNumberEnding | String | N/A | N/A | Last 4 digits of the credit card number. |
Authentication | String | N/A | N/A | Authentication status |
Enrolled | String | N/A | N/A | The enrolled status. |
CardExpirationDate | String | N/A | N/A | Expiration date of the used credit card. |
MaskedCreditcardNumber | String | N/A | N/A | The credit card number (partially masked). |
Example push
{
"Transaction": {
"Key": "571457E371FB494FB0E67C99CFXXXXXX",
"Invoice": "testinvoice 123",
"ServiceCode": "mastercard",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": null,
"DateTime": "2017-03-28T11:51:15"
},
"IsTest": true,
"Order": null,
"Currency": "EUR",
"AmountDebit": 10,
"TransactionType": "V088",
"Services": [
{
"Name": "mastercard",
"Action": null,
"Parameters": [
{
"Name": "CardNumberEnding",
"Value": "9097"
},
{
"Name": "CardExpirationDate",
"Value": "2017-03"
},
{
"Name": "MaskedCreditcardNumber",
"Value": "517043******9097"
},
{
"Name": "Enrolled",
"Value": "Y"
},
{
"Name": "Authentication",
"Value": "Y"
}
],
"VersionAsProperty": 1
}
],
"CustomParameters": null,
"AdditionalParameters": null,
"MutationType": 3,
"RelatedTransactions": null,
"IsCancelable": true,
"IssuingCountry": "DK",
"StartRecurrent": false,
"Recurring": false,
"CustomerName": "T. Tester",
"PayerHash": null,
"PaymentKey": null
}
}
AuthorizeEncrypted
For a regular Authorize action, the consumer has to be redirected to our checkout to fill in its card data. With this action and our Client Side Encryption SDK we have introduced a way where this redirection is not necessary and you can ask for the consumers' card data on your own webshop. All you have to do is encrypt the card data with our Client Side Encryption SDK (for more info on our Client Side Encryption SDK, click here) and call this action with the "EncryptedCardData"-parameter. The value of this parameter is the result of the "encryptCardData"-function in our CSE SDK.
Authorize request
The request is much like the Authorize request, except for the EncryptedCardData parameter.
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
EncryptedCardData | String | Yes | N/A | The value of this parameter is the result of the "encryptCardData"-function of our Client Side Encryption SDK. |
Example request
{
"Currency": "EUR",
"AmountDebit": 0.01,
"Invoice": "AuthorizeEncryptedTest123",
"Description": "Authorize Encrypted Test 123",
"Services": {
"ServiceList": [
{
"Name": "Mastercard",
"Action": "AuthorizeEncrypted",
"Version": 0,
"Parameters": [
{
"Name": "EncryptedCardData",
"GroupType": "",
"GroupID": "",
"Value": "001u8gJNwngKubFCO6FmJod6aESlIFATkKYaj47KlgBp7f3NeVxUzChg1Aug7WD2vc5wut2KU9NPLUaO0tFmzhVLZoDWn7dX4AzGxSjPrsPmDMWYcEkIwMZfcyJqoRfFkF3j15mil3muXxhR1a609NfkTo11J3ENVsvU3k60z+x0jCw6NjzbrweVQhBRkrbs7TBJkS4tR38JiDsXyH2E1JmRHE+o2P9qz4at6w3zggmwImvjt5IIjEr6g8KfsIDXfv7YjEzhJ3P+7uuGoyG2WYm/Pr0+iEmTj5Q/ijkxu1+cDqv5eiB+80KgffPItUZDrnv9sKlVBAr+f53nm1G+Sxp0Q=="
}
]
}
]
}
}
Authorize response
The request is much like the Authorize request, except for the EncryptedCardData parameter.
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
EncryptedCardData | String | Yes | N/A | The value of this parameter is the result of the "encryptCardData"-function of our Client Side Encryption SDK. |
Example response
{
"Key": "18733464547E465EB78A1B896DXXXXXX",
"Status": {
"Code": {
"Code": 791,
"Description": "Pending processing"
},
"SubCode": null,
"DateTime": "2018-10-19T10:54:47+02:00"
},
"RequiredAction": {
"RedirectURL": "https://testcheckout.buckaroo.nl/html/redirect.ashx?r=EB19D99034424813B2F5C10C92XXXXXX",
"RequestedInformation": null,
"PayRemainderDetails": null,
"Name": "Redirect",
"TypeDeprecated": 0
},
"Services": [
{
"Name": "Mastercard",
"Action": null,
"Parameters": [
{
"Name": "ClientSideEncryptionVersion",
"Value": "1"
}
]
},
{
"Name": "mastercard",
"Action": null,
"Parameters": [
{
"Name": "CardNumberEnding",
"Value": "0000"
},
{
"Name": "CardExpirationDate",
"Value": "2019-04"
},
{
"Name": "MaskedCreditcardNumber",
"Value": "538686******0000"
},
{
"Name": "Enrolled",
"Value": "Y"
}
]
}
],
"CustomParameters": null,
"AdditionalParameters": null,
"RequestErrors": null,
"Invoice": "AuthorizeEncryptedTest123",
"ServiceCode": "mastercard",
"IsTest": true,
"Currency": "EUR",
"AmountDebit": 0.01,
"TransactionType": "I088",
"MutationType": 3,
"RelatedTransactions": null,
"ConsumerMessage": null,
"Order": null,
"IssuingCountry": "FR",
"StartRecurrent": false,
"Recurring": false,
"CustomerName": "Automated Encryptietest",
"PayerHash": null,
"PaymentKey": null
}
Authorize push
The push is almost the same as the Authorize push, except for the ClientSideEncryptionVersion parameter.
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
ClientSideEncryptionVersion | String | Yes | N/A | The Client Side Encryption version that is used to encrypt the card data. |
Example push
{
"Transaction":{
"Key":"18733464547E465EB78A1B896DXXXXXX",
"Invoice":"AuthorizeEncryptedTest123",
"ServiceCode":"mastercard",
"Status":{
"Code":{
"Code":791,
"Description":"Pending processing"
},
"SubCode":null,
"DateTime":"2018-10-19T10:54:47"
},
"IsTest":true,
"Order":null,
"Currency":"EUR",
"AmountDebit":0.01,
"TransactionType":"I088",
"Services":[
{
"Name":"Mastercard",
"Action":null,
"Parameters":[
{
"Name":"ClientSideEncryptionVersion",
"Value":"1"
}
]
},
{
"Name":"mastercard",
"Action":null,
"Parameters":[
{
"Name":"CardNumberEnding",
"Value":"0000"
},
{
"Name":"CardExpirationDate",
"Value":"2019-04"
},
{
"Name":"MaskedCreditcardNumber",
"Value":"538686******0000"
},
{
"Name":"Enrolled",
"Value":"Y"
}
],
"VersionAsProperty":1
}
],
"CustomParameters":null,
"AdditionalParameters":null,
"MutationType":3,
"RelatedTransactions":null,
"IsCancelable":false,
"IssuingCountry":"FR",
"StartRecurrent":false,
"Recurring":false,
"CustomerName":"Automated Encryptietest",
"PayerHash":null,
"PaymentKey":null
}
}
AuthorizeWithSecurityCode
When you want your returning customers not having to fill in al their card data again but still want to perform 3DS authentication, you can use this action. With this action and our Client Side Encryption SDK we have introduced a way where you only have to ask for the consumers' security code (CVC) on your webshop and send in the OriginalTransactionKey of the first transaction of this customer. All you have to do is encrypt the security code with our Client Side Encryption SDK (for more info on our Client Side Encryption SDK, click here) and call this action with the "EncryptedSecurityCode"-parameter. The value of this parameter is the result of the "encryptSecurityCode"-function in our CSE SDK.
### AuthorizeWithSecurityCode request
The request is much like the Authorize request, except for the OriginalTransactionKey and EncryptedSecurityCode parameters.
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
EncryptedSecurityCode | String | Yes | N/A | The value of this parameter is the result of the "encryptSecurityCode"-function of our Client Side Encryption SDK. |
OriginalTransactionKey | String | Yes | N/A | Transaction key of the initial transaction from where the card data should be copied. Please note: This is a basic parameter, not a service specific parameter. |
Example request
{
"Invoice": "AuthorizeWithSecurityCodeTest",
"Description": "AuthorizeWithSecurityCodeTest",
"Currency": "EUR",
"AmountDebit": 0.01,
"OriginalTransactionKey": "6C5DBB69E74644958F8C25199514DC6C",
"Services": {
"ServiceList": [
{
"Name": "mastercard",
"Action": "AuthorizeWithSecurityCode",
"Parameters": [
{
"Name": "EncryptedSecurityCode",
"Value": "001F3AJT7wkJa04zE8c78P7spOAgHSKH1YKgPlOwXhW049VfIXMwZO32RYna9xZRyUCtfODIoCL8GRQoaZbStlBT4rbF5e4PPvWFSKdvua4rq+GQDNAghfa+ZQz0BzBPfjS0WBdFape9n3zH2vC/0m+wI3QZiDpYYgyWC1/Y3udJDU7JRTVMq/BDHGet+IZ2CDnkeGl813kkYymzYon/QeuQRQ0Wsec5bmVQNYGx62fz70/vLgs0ffff+6DtZtnZWfByRkTwMNebJotlOsSkbhVR5FrHpAbNPCJI+LvJcJL7Eoo+ZuX5/LWGmsT6qnR/uLiIw1DI7mTKGy6/P7IljAE+g=="
}
]
}
]
}
}
AuthorizeWithSecurityCode response
The response is almost the same as the Authorize response, except for the ClientSideEncryptionVersion parameter.
Parameters
Example response
{
"Key": "D7B87BBA4C044B2F9A74B5DEC0AAEF6B",
"Status": {
"Code": {
"Code": 791,
"Description": "Pending processing"
},
"SubCode": null,
"DateTime": "2020-03-23T16:24:38+01:00"
},
"RequiredAction": {
"RedirectURL": "https://testcheckout.buckaroo.nl/html/redirect.ashx?r=11403BFFBEE648EBB37480F83683E9A5",
"RequestedInformation": null,
"PayRemainderDetails": null,
"Name": "Redirect",
"TypeDeprecated": 0
},
"Services": [
{
"Name": "Mastercard",
"Action": null,
"Parameters": [
{
"Name": "ClientSideEncryptionVersion",
"Value": "1"
}
]
},
{
"Name": "mastercard",
"Action": null,
"Parameters": [
{
"Name": "CardNumberEnding",
"Value": "0000"
},
{
"Name": "CardExpirationDate",
"Value": "2023-01"
},
{
"Name": "MaskedCreditcardNumber",
"Value": "538686******0000"
},
{
"Name": "ThreeDsVersion",
"Value": "1.0.2"
},
{
"Name": "Enrolled",
"Value": "N"
}
]
}
],
"CustomParameters": null,
"AdditionalParameters": null,
"RequestErrors": null,
"Invoice": "AuthorizeWithSecurityCodeTest",
"ServiceCode": "mastercard",
"IsTest": true,
"Currency": "EUR",
"AmountDebit": 0.01,
"TransactionType": "I876",
"MutationType": 3,
"RelatedTransactions": [
{
"RelationType": "copied_card_data",
"RelatedTransactionKey": "6C5DBB69E74644958F8C25199514DC6C"
}
],
"ConsumerMessage": null,
"Order": null,
"IssuingCountry": "NL",
"StartRecurrent": false,
"Recurring": false,
"CustomerName": "tes test",
"PayerHash": null,
"PaymentKey": null
}
AuthorizeWithSecurityCode push
The push is almost the same as the Authorize push, except for the ClientSideEncryptionVersion parameter.
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
ClientSideEncryptionVersion | String | N/A | N/A | The Client Side Encryption version that is used to encrypt the security code. |
Example push
{
"Transaction":{
"Key":"D7B87BBA4C044B2F9A74B5DEC0AAEF6B",
"Invoice":"AuthorizeWithSecurityCodeTest",
"ServiceCode":"mastercard",
"Status":{
"Code":{
"Code":190,
"Description":"Success"
},
"SubCode":null,
"DateTime":"2020-03-23T16:24:56"
},
"IsTest":true,
"Order":null,
"Currency":"EUR",
"AmountDebit":0.01,
"TransactionType":"I876",
"Services":[
{
"Name":"Mastercard",
"Action":null,
"Parameters":[
{
"Name":"ClientSideEncryptionVersion",
"Value":"1"
}
]
},
{
"Name":"mastercard",
"Action":null,
"Parameters":[
{
"Name":"CardNumberEnding",
"Value":"0000"
},
{
"Name":"CardExpirationDate",
"Value":"2023-01"
},
{
"Name":"MaskedCreditcardNumber",
"Value":"538686******0000"
},
{
"Name":"ThreeDsVersion",
"Value":"1.0.2"
},
{
"Name":"Enrolled",
"Value":"N"
},
{
"Name":"Authentication",
"Value":"Y"
}
],
"VersionAsProperty":1
}
],
"CustomParameters":null,
"AdditionalParameters":null,
"MutationType":3,
"RelatedTransactions":[
{
"RelationType":"copied_card_data",
"RelatedTransactionKey":"6C5DBB69E74644958F8C25199514DC6C"
}
],
"IsCancelable":false,
"IssuingCountry":"NL",
"StartRecurrent":false,
"Recurring":false,
"CustomerName":"tes test",
"PayerHash":null,
"PaymentKey":null
}
}
CancelAuthorize
CancelAuthorize request
The CancelAuthorize action allows the merchant to cancel a previously created authorization
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
OriginalTransactionKey | String | Yes | N/A | Transaction key of the initial payment. Please note: This is a basic parameter, not a service specific parameter. |
Example request
{
"Currency": "EUR",
"AmountCredit": 0.01,
"Description": "Test CancelAuthorize",
"Invoice": "test_17112022",
"OriginalTransactionKey": "C815ED5D33F54845B910179185F56E9D",
"ClientIP": {
"Type": 0,
"Address": "0.0.0.0"
},
"Services": {
"ServiceList": [
{
"Name": "Mastercard",
"Action": "CancelAuthorize"
}
]
}
}
CancelAuthorize response
Parameters
Example response
{
"Key": "5145B51258604CFAA0726D12CAA7FA67",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": null,
"DateTime": "2022-11-17T12:13:07"
},
"RequiredAction": null,
"Services": null,
"CustomParameters": null,
"AdditionalParameters": null,
"RequestErrors": null,
"Invoice": "test_Mastercard_1668683508",
"ServiceCode": "mastercard",
"IsTest": true,
"Currency": "EUR",
"AmountCredit": 0.01,
"TransactionType": "I877",
"MutationType": 3,
"RelatedTransactions": null,
"ConsumerMessage": null,
"Order": null,
"IssuingCountry": null,
"StartRecurrent": false,
"Recurring": false,
"CustomerName": null,
"PayerHash": null,
"PaymentKey": null
}
CancelAuthorize push
Parameters
Example push
{
"Transaction":{
"Key":"5145B51258604CFAA0726D12CAA7FA67",
"Invoice":"test_Mastercard_1668683508",
"ServiceCode":"mastercard",
"Status":{
"Code":{
"Code":190,
"Description":"Success"
},
"SubCode":null,
"DateTime":"2022-11-17T12:13:07"
},
"IsTest":true,
"Order":null,
"Currency":"EUR",
"AmountCredit":0.01,
"TransactionType":"I877",
"Services":null,
"CustomParameters":null,
"AdditionalParameters":null,
"MutationType":3,
"RelatedTransactions":null,
"IsCancelable":false,
"IssuingCountry":null,
"StartRecurrent":false,
"Recurring":false,
"CustomerName":null,
"PayerHash":null,
"PaymentKey":null,
"Description":"Test CancelAuthorize"
}
}
Capture
Capture request
The Capture action allows the merchant to perform a charge on a previously created authorization. The customer is not needed to perform this charge. The maximum capture amount is the amount of the previously requested Authorize.
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
OriginalTransactionKey | String | Yes | N/A | Transaction key of the initial payment. Please note: This is a basic parameter, not a service specific parameter. |
Example request
{
"Currency": "EUR",
"AmountDebit": 1.00,
"Invoice": "testinvoice 123",
"OriginalTransactionKey": "571457E371FB494FB0E67C99CFXXXXXX",
"Services": {
"ServiceList": [
{
"Name": "mastercard",
"Action": "Capture"
}
]
}
}
Capture response
Parameters
Example request
{
"Key": "EA244C42EC0846E8BF2CD406BCXXXXXX",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S001",
"Description": "Transaction successfully processed"
},
"DateTime": "2017-05-31T12:40:03"
},
"RequiredAction": null,
"Services": null,
"CustomParameters": null,
"AdditionalParameters": null,
"RequestErrors": null,
"Invoice": "testinvoice 123",
"ServiceCode": "mastercard",
"IsTest": true,
"Currency": "EUR",
"AmountDebit": 1.0,
"TransactionType": "V201",
"MutationType": 2,
"RelatedTransactions": null,
"ConsumerMessage": null,
"Order": null,
"IssuingCountry": "FR",
"StartRecurrent": false,
"Recurring": false,
"CustomerName": "T. Tester",
"PayerHash": null,
"PaymentKey": "FBCCF988EE3A455A9A07F1F5A1XXXXXX"
}
Capture push
Parameters
Example push
{
"Transaction": {
"Key": "EA244C42EC0846E8BF2CD406BCXXXXXX",
"Invoice": "testinvoice 123",
"ServiceCode": "mastercard",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S001",
"Description": "Transaction successfully processed"
},
"DateTime": "2017-05-31T12:40:03"
},
"IsTest": true,
"Order": null,
"Currency": "EUR",
"AmountDebit": 1,
"TransactionType": "V201",
"Services": null,
"CustomParameters": null,
"AdditionalParameters": null,
"MutationType": 2,
"RelatedTransactions": null,
"IsCancelable": false,
"IssuingCountry": "FR",
"StartRecurrent": false,
"Recurring": false,
"CustomerName": "T. Tester",
"PayerHash": null,
"PaymentKey": "FBCCF988EE3A455A9A07F1F5A1XXXXXX"
}
}
Payrecurrent
The PayRecurrent action is used to perform a repeated payment by credit card on an initial payment. For a recurrent payment, the customer isn’t needed, since the credit card details do not have to be entered again. In case the payment is processed by Worldline, the recurrent payment is also possible on an authorize. A PayRecurrent payment can only be performed based on a transaction having the parameter Startrecurrent set to True.
Payrecurrent request
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
OriginalTransactionKey | String | Yes | N/A | Transaction key of the initial payment. Please note: This is a basic parameter, not a service specific parameter. |
Example request
{
"Currency": "EUR",
"AmountDebit": 10,
"Invoice": "testinvoice 123",
"OriginalTransactionKey": "80558FE1BE7F4B959E5C64907EXXXXXX",
"Services": {
"ServiceList": [
{
"Name": "mastercard",
"Action": "PayRecurrent"
}
]
}
}
Payrecurrent response
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
CardNumberEnding | String | Yes | N/A | The last four digits of the used credit card number. |
CardExpirationDate | String | N/A | N/A | The expiration date of the used credit card. |
MaskedCreditcardNumber | String | N/A | N/A | The credit card number (partially masked). |
Example response
{
"Key": "5C7012EEF3E84CAEAA50DBBCEDXXXXXX",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S001",
"Description": "Transaction successfully processed"
},
"DateTime": "2017-06-01T08:26:40"
},
"RequiredAction": null,
"Services": [
{
"Name": "mastercard",
"Action": null,
"Parameters": [
{
"Name": "CardNumberEnding",
"Value": "9097"
},
{
"Name": "CardExpirationDate",
"Value": "2020-06"
},
{
"Name": "MaskedCreditcardNumber",
"Value": "517043******9097"
}
]
}
],
"CustomParameters": null,
"AdditionalParameters": null,
"RequestErrors": null,
"Invoice": "testinvoice 123",
"ServiceCode": "mastercard",
"IsTest": true,
"Currency": "EUR",
"AmountDebit": 10,
"TransactionType": "V043",
"MutationType": 2,
"RelatedTransactions": null,
"ConsumerMessage": null,
"Order": null,
"IssuingCountry": "DK",
"StartRecurrent": false,
"Recurring": true,
"CustomerName": "T. Tester",
"PayerHash": null,
"PaymentKey": "625B93474A34478698DEE551DFXXXXXX"
}
Payrecurrent push
Parameters
Service specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
CardNumberEnding | String | Yes | N/A | The last four digits of the used credit card number. |
CardExpirationDate | String | N/A | N/A | The expiration date of the used credit card. |
MaskedCreditcardNumber | String | N/A | N/A | The credit card number (partially masked). |
Example push
{
"Transaction": {
"Key": "5C7012EEF3E84CAEAA50DBBCEDXXXXXX",
"Invoice": "testinvoice 123",
"ServiceCode": "mastercard",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S001",
"Description": "Transaction successfully processed"
},
"DateTime": "2017-06-01T08:26:40"
},
"IsTest": true,
"Order": null,
"Currency": "EUR",
"AmountDebit": 10,
"TransactionType": "V043",
"Services": [
{
"Name": "mastercard",
"Action": null,
"Parameters": [
{
"Name": "CardNumberEnding",
"Value": "9097"
},
{
"Name": "CardExpirationDate",
"Value": "2020-06"
},
{
"Name": "MaskedCreditcardNumber",
"Value": "517043******9097"
}
],
"VersionAsProperty": 1
}
],
"CustomParameters": null,
"AdditionalParameters": null,
"MutationType": 2,
"RelatedTransactions": null,
"IsCancelable": false,
"IssuingCountry": "DK",
"StartRecurrent": false,
"Recurring": true,
"CustomerName": "T. Tester",
"PayerHash": null,
"PaymentKey": "625B93474A34478698DEE551DFXXXXXX"
}
}