APIs

      APIs


        Article summary

        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:

        Website Key

        This key can be found in the Buckaroo payment plaza at https://plaza.buckaroo.nl/. Click on your merchant name in the menu on the left side of the screen -> websites -> {yourwebsite}. Here you can find the website key in the table in the first row.

        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" },

        There are however two situations where we will automatically update your server address to the client's address; 1) client lands on our hosted payment page, or 2) client returns from an external (payment) environment.

        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.


        Was this article helpful?

        What's Next