Requests
Pay
This action is used to perform a single payment with the Bancontact card.
Base JSON request
Note
Use the base request as instructed on this page.
Pay Request
Parameters
Service-specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
SaveToken | String | No | N/A | SaveToken is the parameter used to indicate if a token is to be created, that can be used for Wallet Initiated Payments in the future. |
Basic Parameters:
- Find basic parameters here.
Example request
{
"Currency": "EUR",
"AmountDebit": 10.00,
"Invoice": "testinvoice 123",
"ClientIP": {
"Type": 0,
"Address": "0.0.0.0"
},
"Services": {
"ServiceList": [
{
"Name": "bancontactmrcash",
"Action": "Pay",
"Parameters": [
{
"Name": "savetoken",
"Value": "true"
}
]
}
]
}
}
Pay 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 redirect URL. The response does not contain service-specific variables.
Parameters
Example response
{
"Key": "0EF39AA94BD64FF38F1540DEB6XXXXXX",
"Status": {
"Code": {
"Code": 790,
"Description": "Pending input"
},
"SubCode": null,
"DateTime": "2017-03-30T12:50:36"
},
"RequiredAction": {
"RedirectURL": "https://testcheckout.buckaroo.nl/html/redirect.ashx?r=77C66A69FF4240DBB497CA73E5XXXXXX",
"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
Parameters
Service-specific parameters
Parameter | Type | Required | Description |
---|---|---|---|
CardNumberEnding | String | N/A | Last 4 digits of the card number. |
CardExpirationDate | String | N/A | Card expiration date. |
MaskedCardNumber | String | N/A | Masked card number. |
CustomerIBAN | String | N/A | The customer's IBAN |
CustomerBIC | String | N/A | The BIC code belonging to the customer's IBAN. |
InputType | String | N/A | The way the transaction was paid. Possible values are: "Manual" for a regular payment; "QrCode" for a mobile payment paid by scanning the QR-code; "UrlIntent" for a mobile payment paid by clicking on the payment button on a mobile device. |
Example push
{
"Transaction": {
"Key": "0EF39AA94BD64FF38F1540DEB6XXXXXX",
"Invoice": "testinvoice 123",
"ServiceCode": "bancontactmrcash",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S990",
"Description": "The request was successful."
},
"DateTime": "2017-03-30T12:51:10"
},
"IsTest": true,
"Order": null,
"Currency": "EUR",
"AmountDebit": 10,
"TransactionType": "C090",
"Services": [
{
"Name": "bancontactmrcash",
"Action": null,
"Parameters": [
{
"Name": "CardNumberEnding",
"Value": "5015"
},
{
"Name": "CardExpirationDate",
"Value": "2017-03"
},
{
"Name": "MaskedCreditcardNumber",
"Value": "670342*******5015"
},
{
"Name": "CustomerIban",
"Value": "BE68xxxxxxxxx034"
},
{
"Name": "CustomerBic",
"Value": "BANKBEBB"
},
{
"Name": "InputType",
"Value": "Manual"
}
],
"VersionAsProperty": 1
}
],
"CustomParameters": null,
"AdditionalParameters": null,
"MutationType": 1,
"RelatedTransactions": null,
"IsCancelable": false,
"IssuingCountry": null,
"StartRecurrent": false,
"Recurring": false,
"CustomerName": "T. Tester",
"PayerHash": "null",
"PaymentKey": "3055B6E1FA6C493881CDFCC05DXXXXXX"
}
}
Refund
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
OriginalTransactionKey | String | Yes | Transaction key of the payment that needs to be refunded. Please note: This is a basic request variable, not a service specific variable. |
Refund request
{
"Currency": "EUR",
"AmountCredit": 1.00,
"Invoice": "testinvoice 123",
"OriginalTransactionKey": "0EF39AA94BD64FF38F1540DEB6XXXXXX",
"Services": {
"ServiceList": [
{
"Name": "bancontactmrcash",
"Action": "Refund"
}
]
}
}
Refund response
{
"Key": "6C1012FAF0444C1C8283404DA7XXXXXX",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S990",
"Description": "The request was successful."
},
"DateTime": "2017-03-30T12:54:58"
},
"RequiredAction": null,
"Services": null,
"CustomParameters": null,
"AdditionalParameters": null,
"RequestErrors": null,
"Invoice": "testinvoice 123",
"ServiceCode": "bancontactmrcash",
"IsTest": true,
"Currency": "EUR",
"AmountCredit": 1,
"TransactionType": "C092",
"MutationType": 1,
"RelatedTransactions": [
{
"RelationType": "refund",
"RelatedTransactionKey": "0EF39AA94BD64FF38F1540DEB6XXXXXX"
}
],
"ConsumerMessage": null,
"Order": null,
"IssuingCountry": null,
"StartRecurrent": false,
"Recurring": false,
"CustomerName": null,
"PayerHash": null,
"PaymentKey": "0650B22A3CC44E60AF1D67D9BEXXXXXX"
}
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.
Base JSON request
Use the base request as instructed on this page
PayEncrypted Request
The request is much like the Pay request, except for the EncryptedCardData parameter.
Parameters
Service-specific parameters
Parameter | Type | Required | Recommended |
---|---|---|---|
EncryptedCardData | String | Yes | 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": "BancontactPayEncryptedTest123",
"Description": "Bancontact PayEncrypted Test 123",
"Services": {
"ServiceList": [
{
"Name": "bancontactmrcash",
"Action": "PayEncrypted",
"Version": 0,
"Parameters": [
{
"Name": "EncryptedCardData",
"GroupType": "",
"GroupID": "",
"Value": "001SlXfd8MbiTd/JFwCiGVs3f6o4x6xt0aN29NzOSNZHPKlVsz/EWeQmyhb1gGZ86VY88DP7gfDV+UyjcPfpVfHZd7u+WkO71hnV2QfYILCBNqE1aiPv2GQVGdaGbuoQloKu1o3o3I1UDmVxivXTMQX76ovot89geA6hqbtakmpmvxeiwwea3l4htNoX1IlD1hfYkDDl9rzSu5ypcjvVs6aRGXK5iMHnyrmEsEnfdj/Q5XWbsD5xAm4u3y6J8d4UP7LB31VLECzZUTiJOtKKcCQlT01YThIkQlj8PWBBMtt4H52VN3IH2+wPYtR8HiOZzcA2HA7UxozogIpS53tIURj/g=="
}
]
}
]
}
}
PayEncrypted Response
The response is the same as the Pay response.
Example response
PayEncrypted Push
The push is almost the same as the Pay push, except for the ClientSideEncryptionVersion parameter.
Service-specific parameters
Parameter | Type | Required | Description |
---|---|---|---|
ClientSideEncryptionVersion | String | N/A | The Client Side Encryption version that is used to encrypt the card data. |
Example push
{
"Transaction":{
"Key":"AF4BB6D14C364404ADF925958FXXXXXX",
"Invoice":"BancontactPayEncryptedTest123",
"ServiceCode":null,
"Status":{
"Code":{
"Code":190,
"Description":"Success"
},
"SubCode":{
"Code":"S990",
"Description":"The request was successful."
},
"DateTime":"2018-10-20T05:15:10"
},
"IsTest":false,
"Order":null,
"Currency":"EUR",
"AmountDebit":0.01,
"TransactionType":"C090",
"Services":[
{
"Name":"BancontactMrCash",
"Action":null,
"Parameters":[
{
"Name":"ClientSideEncryptionVersion",
"Value":"1"
}
]
},
{
"Name":"bancontactmrcash",
"Action":null,
"Parameters":[
{
"Name":"CardNumberEnding",
"Value":"5015"
},
{
"Name":"CardExpirationDate",
"Value":"2023-10"
},
{
"Name":"MaskedCreditcardNumber",
"Value":"670342*******5015"
},
{
"Name":"Enrolled",
"Value":"Y"
}
],
"VersionAsProperty":1
}
],
"CustomParameters":null,
"AdditionalParameters":null,
"MutationType":1,
"RelatedTransactions":null,
"IsCancelable":false,
"IssuingCountry":null,
"StartRecurrent":false,
"Recurring":false,
"CustomerName":"Automated Encryptietest",
"PayerHash":null,
"PaymentKey":"98944CC3B3FA4ACD9A837D3A22XXXXXX"
}
}
CompletePayment
When you want to use both the QR-Code and the Client Side Encryption on your own webshop checkout, you have to use the CompletePayment DataRequest to complete the already created payment.
Note that the ReturnUrl of the original transaction is used to redirect the consumer.
Base JSON request
Use the base request as instructed on this page
CompletePayment Request
Service-specific parameters
Parameter | Type | Required | Recommended | Description |
---|---|---|---|---|
OriginalTransactionKey | String | Yes | Transaction key of the payment that needs to be completed. Please note: This is a basic request variable, not a service specific variable. | |
EncryptedCardData | String | Yes | The value of this parameter is the result of the "encryptCardData"-function of our Client Side Encryption SDK. |
Example request
{
"OriginalTransactionKey": "AF4BB6D14C364404ADF925958FXXXXXX",
"Services": {
"ServiceList": [
{
"Name": "bancontactmrcash",
"Action": "CompletePayment",
"Parameters": [
{
"Name": "EncryptedCardData",
"Value": "001SlXfd8MbiTd/JFwCiGVs3f6o4x6xt0aN29NzOSNZHPKlVsz/EWeQmyhb1gGZ86VY88DP7gfDV+UyjcPfpVfHZd7u+WkO71hnV2QfYILCBNqE1aiPv2GQVGdaGbuoQloKu1o3o3I1UDmVxivXTMQX76ovot89geA6hqbtakmpmvxeiwwea3l4htNoX1IlD1hfYkDDl9rzSu5ypcjvVs6aRGXK5iMHnyrmEsEnfdj/Q5XWbsD5xAm4u3y6J8d4UP7LB31VLECzZUTiJOtKKcCQlT01YThIkQlj8PWBBMtt4H52VN3IH2+wPYtR8HiOZzcA2HA7UxozogIpS53tIURj/g=="
}
]
}
]
}
}
CompletePayment Response
The response is also much like the PayEncrypted response.
Example response
{
"Key": "0FDA1EC644FA4E948ADEF63694XXXXXX",
"Status": {
"Code": {
"Code": 791,
"Description": "Pending processing"
},
"SubCode": {
"Code": "S002",
"Description": "An additional action is required: 3-D Secure"
},
"DateTime": "2018-12-04T15:53:49"
},
"RequiredAction": {
"RedirectURL": "https://checkout.buckaroo.nl/html/redirect.ashx?r=0D7D9B311EC3410CB20D7F89C0XXXXXX",
"RequestedInformation": null,
"Name": "Redirect",
"TypeDeprecated": 0
},
"Services": null,
"CustomParameters": null,
"AdditionalParameters": null,
"RequestErrors": null,
"ServiceCode": "bancontactmrcash",
"IsTest": false,
"ConsumerMessage": null
}
PayRecurring
PayRecurring is a Wallet Initiated Payment. PayRecurring should only be used if the consumer is not present. If the consumer is present, the action PayOneClick should be used instead.
Parameters
Example request
{
"Currency": "EUR",
"AmountDebit": 10.00,
"Invoice": "testinvoice 123",
"OriginalTransactionKey": "91D08EC01F414926A4CA29C059XXXXXX",
"ClientIP": {
"Type": 0,
"Address": "0.0.0.0"
},
"Services": {
"ServiceList": [
{
"Name": "bancontactmrcash",
"Action": "PayRecurring"
}
]
}
}
PayRecurring 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.
Example response
{
"Key": "CA9A4CB1C1F1430AAC71D63562XXXXXX",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S990",
"Description": "The request was successful."
},
"DateTime": "2020-06-03T14:42:43"
},
"RequiredAction": null,
"Services": null,
"CustomParameters": null,
"AdditionalParameters": null,
"RequestErrors": null,
"Invoice": "testinvoice 123",
"ServiceCode": "bancontactmrcash",
"IsTest": true,
"Currency": "EUR",
"AmountDebit": 10.0,
"TransactionType": "C094",
"MutationType": 1,
"RelatedTransactions": null,
"ConsumerMessage": null,
"Order": null,
"IssuingCountry": null,
"StartRecurrent": false,
"Recurring": false,
"CustomerName": null,
"PayerHash": null,
"PaymentKey": "1E3F1CCEFE394410904AD41146XXXXXX"
}
PayRecurring Push
Parameters
Example push
{
"Transaction":{
"Key":"CA9A4CB1C1F1430AAC71D63562XXXXXX",
"Invoice":"testinvoice 123",
"ServiceCode":"bancontactmrcash",
"Status":{
"Code":{
"Code":190,
"Description":"Success"
},
"SubCode":{
"Code":"S990",
"Description":"The request was successful."
},
"DateTime":"2020-06-03T14:42:43"
},
"IsTest":true,
"Order":null,
"Currency":"EUR",
"AmountDebit":10.0,
"TransactionType":"C094",
"Services":null,
"CustomParameters":null,
"AdditionalParameters":null,
"MutationType":1,
"RelatedTransactions":null,
"IsCancelable":false,
"IssuingCountry":null,
"StartRecurrent":false,
"Recurring":false,
"CustomerName":null,
"PayerHash":null,
"PaymentKey":"1E3F1CCEFE394410904AD41146XXXXXX"
}
}
PayOneClick
PayOneClick is a Wallet Initiated Payment. PayOneClick should only be used if the consumer is present. If the consumer is not present, the action PayRecurring should be used instead.
Parameters
PayOneClick Request
Example request
{
"Currency": "EUR",
"AmountDebit": 10.00,
"Invoice": "testinvoice 123",
"OriginalTransactionKey": "91D08EC01F414926A4CA29C059XXXXXX",
"ClientIP": {
"Type": 0,
"Address": "0.0.0.0"
},
"Services": {
"ServiceList": [
{
"Name": "bancontactmrcash",
"Action": "PayOneClick"
}
]
}
}
PayOneClick 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.
Example response
{
"Key": "CA9A4CB1C1F1430AAC71D63562XXXXXX",
"Status": {
"Code": {
"Code": 190,
"Description": "Success"
},
"SubCode": {
"Code": "S990",
"Description": "The request was successful."
},
"DateTime": "2020-06-03T14:42:43"
},
"RequiredAction": null,
"Services": null,
"CustomParameters": null,
"AdditionalParameters": null,
"RequestErrors": null,
"Invoice": "testinvoice 123",
"ServiceCode": "bancontactmrcash",
"IsTest": true,
"Currency": "EUR",
"AmountDebit": 10.0,
"TransactionType": "C094",
"MutationType": 1,
"RelatedTransactions": null,
"ConsumerMessage": null,
"Order": null,
"IssuingCountry": null,
"StartRecurrent": false,
"Recurring": false,
"CustomerName": null,
"PayerHash": null,
"PaymentKey": "1E3F1CCEFE394410904AD41146XXXXXX"
}
PayOneClick Push
Parameters
Example push
{
"Transaction":{
"Key":"CA9A4CB1C1F1430AAC71D63562XXXXXX",
"Invoice":"testinvoice 123",
"ServiceCode":"bancontactmrcash",
"Status":{
"Code":{
"Code":190,
"Description":"Success"
},
"SubCode":{
"Code":"S990",
"Description":"The request was successful."
},
"DateTime":"2020-06-03T14:42:43"
},
"IsTest":true,
"Order":null,
"Currency":"EUR",
"AmountDebit":10.0,
"TransactionType":"C093",
"Services":null,
"CustomParameters":null,
"AdditionalParameters":null,
"MutationType":1,
"RelatedTransactions":null,
"IsCancelable":false,
"IssuingCountry":null,
"StartRecurrent":false,
"Recurring":false,
"CustomerName":null,
"PayerHash":null,
"PaymentKey":"1E3F1CCEFE394410904AD41146XXXXXX"
}
}
Authenticate
The Authenticate action can be used to Authorize a Bancontact transaction, and immediately cancel the authorization. This can be used to create a Token that can be used for future WIP transactions, or recurring SDD's.
Parameters
Service-specific parameters
Parameter | Type | Required | Description |
---|---|---|---|
SaveToken | String | N/A | SaveToken is the parameter used to indicate if a token is to be created, that can be used for Wallet Initiated Payments in the future. |
Authenticate Request
{
"Currency": "EUR",
"AmountDebit": 0.02,
"Description": "Bancontact Authenticate SaveToken",
"Invoice": "Bancontact Authenticate SaveToken",
"Services": {
"ServiceList": [
{
"Name": "Ban
contactMrcash",
"Action": "Authenticate",
"Parameters": [
{
"Name": "savetoken",
"Value": "false"
}
]
}
]
}
}
Authenticate Response
Parameters
Basic parameters
Here you can find all basic parameters
{
"Key": "FA398DEBE647465C858F153DXXXXXXXX",
"Status": {
"Code": {
"Code": 790,
"Description": "Pending input"
},
"SubCode": null,
"DateTime": "2021-09-29T13:34:55"
},
"RequiredAction": {
"RedirectURL": "https://checkout.buckaroo.nl/html/redirect.ashx?r=FDC95168D5914D94BD29D0E5XXXXXXXX",
"RequestedInformation": null,
"PayRemainderDetails": null,
"Name": "Redirect",
"TypeDeprecated": 0
},
"Services": null,
"CustomParameters": null,
"AdditionalParameters": null,
"RequestErrors": null,
"Invoice": "Bancontact Authenticate",
"ServiceCode": null,
"IsTest": false,
"Currency": "EUR",
"AmountDebit": 0.02,
"TransactionType": null,
"MutationType": 0,
"RelatedTransactions": null,
"ConsumerMessage": null,
"Order": null,
"IssuingCountry": null,
"StartRecurrent": false,
"Recurring": false,
"CustomerName": null,
"PayerHash": null,
"PaymentKey": null
}
Authenticate Push
Parameters
{
"Transaction":{
"Key":"FA398DEBE647465C858F153DXXXXXXXX",
"Invoice":"Bancontact Authenticate",
"ServiceCode":"bancontactmrcash",
"Status":{
"Code":{
"Code":190,
"Description":"Success"
},
"SubCode":null,
"DateTime":"2021-09-29T13:34:55"
},
"IsTest":false,
"Order":null,
"Currency":"EUR",
"AmountDebit":0.02,
"TransactionType":"I091",
"Services":[
{
"Name":"bancontactmrcash",
"Action":null,
"Parameters":[
{
"Name":"QrCodeData",
"Value":"BEP://1TMA.BUCKAROO.IO/V1/BEP$LYZ5MRI6RXF7XB7TXXXXXXXX"
},
{
"Name":"UrlIntentData",
"Value":"BEPGenApp://DoTx?TransId=1TMA.BUCKAROO.IO/V1/BEP$LYZ5MRI6RXF7XB7TXXXXXXXX"
},
{
"Name":"QrUrl",
"Value":"https://static.buckaroo.nl/qr/v1/QkVQOi8vMVRNQS5CVUNLQVJPTy5JTy9WMS9CRVAkTFlaNU1SSTZSWEY3WEI3VFZVXXXXXXXX"
},
{
"Name":"InputType",
"Value":"QrCode"
},
{
"Name":"CustomerIban",
"Value":"BE00000000000001"
},
{
"Name":"CustomerBic",
"Value":"KREDBEBB"
}
],
"VersionAsProperty":1
}
],
"CustomParameters":null,
"AdditionalParameters":null,
"MutationType":3,
"RelatedTransactions":null,
"IsCancelable":false,
"IssuingCountry":null,
"StartRecurrent":true,
"Recurring":false,
"CustomerName":"Customer Unknown",
"PayerHash":null,
"PaymentKey":null,
"Description":"Bancontact Authenticate"
}
}
Updated about 2 months ago