Billink

Billink is a payment system allowing consumers to pay after receiving the goods.

After a consumer has chosen to pay with Billink, CURO will create a Billink transaction which is "Not Shipped". After you ship the products to the consumer, the order needs to be Captured (activated) in the backoffice so Billink will start collecting from the consumer.

If there's something wrong with the order, it is also possible to Cancel the order in the backoffice.
Billink requires extra parameters specified below to initiate a transaction.

📘

Note

  • If you do not specify required fields, you will receive an error or warning container in the response, depending on what is missing. For a warning you will also receive a url which will contain an URL to the standard Billink FORM where the consumer can fill out the missing data.
  • If you collect all required data on your own website, you are required to show the Billink Terms and Conditions and have the user agree to them via a checkbox. Billink will also want to review your checkout procedure for approval, please contact your account manager for more details.

Please check the Transactions for generic information applicable to all payment methods.

Billink Payment

Entry point: /rest/v1/curo/payment/billink/

REST request elements

See the Billink request parameters in the API reference.

Field nameType LengthRequiredDescription
[request]containerrequiredGeneral container for this resource. Includes the generic request items.
[consumer]containerrequiredConsumer information for this transaction (See the generic Consumer and Shipping elements for this transaction.)
[cartitems]containerrequiredThe cart items of the webshop order. (See the generic CartItems elements.)
b2bboolean 1optionalOptional flag to enable B2B (Business-to-Business) for Billink.
  • The B2B option must be enabled at Billink itself for the given site_id settings.

REST response elements

See the Billink Payment response elements.

Field nameType LengthDescription
[payment]containerGeneral container for this resource.
transaction_idstring 12Newly created transaction ID.
urlstring 255If there is no error, this URL depends on whether the information to Billink was processed completely and successfully:
incomplete — URL to default CURO Billink form. You will also have a warning container indicating which fields are missing.
success — URL to url_pending (or url_failure if no pending URL is given); the URL will receive status=pending to indicate it was accepted but must be Activated for Billink.
It is your responsibility to redirect the consumer to the url address.

Billink Request samples

JSON Request Example

POST /rest/v1/curo/payment/billink/ HTTP/1.1
Content-Type: application/json
Accept: application/json
{
    "site_id": 1234,
    "currency_id": "EUR",
    "amount": 100,
    "reference": "Reference 1",
    "description": "Description 1",
    "url_success": "http://www.example.com/success.html",
    "url_pending": "http://www.example.com/pending.html",
    "url_failure": "http://www.example.com/failed.html",
    "url_callback": "http://www.example.com/control.html",
    "country_id": "NL",
    "language_id": "nl",
    "ip": "1.2.3.4",
    "consumer": {
        "firstname": "John",
        "lastname": "Doe",
        "email": "[email protected]",
        "address": "nowhereroad 12",
        "city": "NonVille",
        "zipcode": "12345",
        "country_id": "NL",
        "phone": "0612345678",
        "dob": "10-07-1970",
        "gender": "M",
        "initials": "JD"
    },
    "cartitems": [{
        "quantity": 1,
        "sku": "hamer_01",
        "name": "Hamer",
        "price": 150,
        "vat": 21,
        "vat_inc": 1,
        "type": 1
    },
    {
        "quantity": 1,
        "sku": "Discount",
        "name": "Discount total",
        "price": -50,
        "vat": 21,
        "vat_inc": 1,
        "type": 4
    }
    ]
}

JSON Response (correct request)

HTTP/1.1 200 OK
Content-Type: application/json
{
"success": true,
"payment": {
    "action": "redirect",
    "transaction": "T26123456789",
    "testmode": 1,
    "url": "redirect_url",
    "transaction_id": "T26123456789"
  }
}

JSON Response (wrong request)

HTTP/1.1 200 OK
Content-Type: application/json
{
    "success": true,
    "payment": {
        "action": "redirect",
        "external": false,
        "url": "redirect_url",
        "transaction_id": "T26123456789",
        "testmode": 1
    },
    "warning": "missing consumer data: dob"
}

Billink Refund

See the generic Refund information and request elements.

In addition to the generic Refund fields, Billink Refund requires the following extra fields:

Field nameType LengthRequiredDescription
vatnumeric 10,2requiredVAT percentage for the refund.
vat_incboolean 1requiredFlag to indicate VAT is included in the refund amount.

Billink Capture

See the generic Capture information and request elements.

After shipping the products to the consumer, the order needs to be Activated (captured) so Billink will start collecting from the consumer.


Billink Cancel

See the generic Cancel information and request elements.

If there's something wrong with the order, it can be cancelled before it is activated.



Did this page help you?