APIs

Buckaroo offers a JSON based gateway for establishing an API connection with the Buckaroo Payment Engine. By sending API requests to specific Buckaroo end points it is possible to perform different operations like initiating transactions or retrieval of information. Most requests require to specify an 'action'. For example, most payment methods require the ''Pay" action to initiate a payment, while the ‘Refund’ action initiates a refund of an existing payment. Others payment methods, such as credit cards, support actions like 'Authorize' (to reserve an amount) and 'Capture' (to charge the credit card with the authorized amount). Please go the payment method sections for all available actions and parameters.

Requests contain parameters that can be used to provide (transaction) information. For example, if one would like to initiate an iDEAL payment of 10 euro, the following information need at least to be provided with the request:

  1. Amount (which would be 10.00)
  2. Currency (which would be the currency code EUR)
  3. Invoicenumber (every transaction requires an invoice number)
  4. Service (which in this case would be the payment method "ideal")
  5. Websitekey (a key provided by Buckaroo to identify a transaction with a specific merchant website)

Below is a list of basic variables that can be used to provide information in a request:

Currency

This denotes the currency in which the transaction is done. Possible values are: EUR, USD, GBP and others.

AmountDebit

The debit amount for the request. This is in decimal format, with a point as the decimal separator. For example, if the currency is specified as EUR, sending “1” will mean that 1 euro will be paid. “1.00” is also 1 euro. “0.01” means 1 cent. Please note, a transaction must have either a debit amount or a credit amount and it cannot have both.

AmountCredit

The credit amount for the request. This is in decimal format, with a point as the decimal separator. For example, if the currency is specified as EUR, sending “1” will mean that 1 euro will be paid. “1.00” is also 1 euro. “0.01” means 1 cent. Please note, a transaction must have either a debit amount or a credit amount and it cannot have both.

Invoice

The invoice number used for the request. This can be a combination of numbers and letters. Please note, the invoice will be trimmed on our side, so white spaces at the beginning and end will be removed.

Order

The order number for which the request is done. This can be a combination of numbers and letters. Please note, this field is not yet supported. Anything sent in with this field is ignored at this moment.

Description

The description for the transaction.

ClientIP

In this field the IP address of the customer (or employee) for which the action is being performed can be passed. Please note, If this field is not sent to our gateway, your server IP address will be used as the clientIP. This may result in unwanted behaviour for anti-fraud checks. Also, certain payment methods perform checks on the IP address, if an IP address is overused, the request could be blocked. This field is sent in the following format, where type 0 = IPv4 and type 1 = IPv6: "ClientIP": { "Type": 0, "Address": "0.0.0.0" },

ReturnURL

This is the URL to which a customer is redirected after completing a payment. For some payments, the customer needs to be sent to a webpage where the customer needs to complete the payment. After completing the process on this page, the customer is then redirected back to the page specified in this field. If this field is omitted, the URL as configured in the Payment Plaza is taken.

ReturnURLCancel

It is possible to specify an alternative return URL for transactions that have been cancelled by the customer. This can be specified in this field.

ReturnURLError

It is possible to specify an alternative return URL for transactions that generate an error during processing. This can be specified in this field.

ReturnURLReject

It is possible to specify an alternative return URL for transactions that have been rejected. This can be specified in this field.

OriginalTransactionKey

Some request need to refer to a previously created transaction, since they perform an additional action upon them. In this field the transaction key identifying the transaction can be specified

StartRecurrent

Some services support recurring payments (You can identify these by determining if they support the action PayRecurrent). Before being able to do a recurrent payment, a normal payment needs to be made with this field set to true (the default value for this field is false).

ContinueOnIncomplete

Specifies if a redirecturl to a payment form will be returned to which a customer should be sent if no paymentmethod is selected or if any required parameter which the customer may provide is missing or incorrect. Possible Values: · No: This is the default. The request will fail if not all the needed information is provided. · RedirectToHTML: A redirect to the HTML gateway is provided if a recoverable problems are detected in the request. The customer can then provide the needed information there.

Services

Specifies which service (can be a payment method and/or additional service) is being called upon in the request.

ServicesSelectableByClient

If no primary service is provided and ContinueOnIncomplete is set, this list of comma separated servicescodes can be used to limit the number of services from which the customer may choose once he is redirected to the payment form. Only services which are entered in this field are selectable. This field is optional and when empty or missing, the customer may choose any of the available services. The order in which the payment methods are listed also determines the order in which they are displayed to the customer on the Buckaroo check out page.

ServicesExcludedForClient

If no primary service is provided and ContinueOnIncomplete is set, this list of comma separated servicescodes can be used to limit the number of services from which the customer may choose once he is redirected to the payment form. Services which are entered in this field are not selectable. This field is optional.

PushURL

When provided, this push URL overrides all the push URLs as configured in the payment plaza under websites for the associated website key

PushURLFailure

When provided, this push URL overrides the push URL for failed transactions as configured in the payment plaza under websites for the associated website key.

ClientUserAgent

This tag can be used to tell the Payment Engine what the user agent of the client’s webbrowser is. This can be used for statistical purposes but also to perform anti-fraud checks on transactions.

OriginalTransactionReference

Some request need to refer to a previously created transaction, since they perform an additional action upon them. In this field an alternative reference to the original transaction can be provided

CustomParameters

Custom variables. These are to be created manually first in the Buckaroo Payment Plaza.

AdditionalParameters

Additional parameters

For a full overview of all available API calls and basic parameters, click here.

In addition to the basic variables, each service (like a payment method) can have additional service specific variables that may be required to add in the request. They are explained in each of the payment method and additional services sections.