General

In3 is a service that allows customers to split their purchase into 3 even payments. The first installment is done immediately via iDeal, after which the In3 transaction is accepted.

In3 is available for Dutch consumers and companies only. Orders from non Dutch customers will be rejected by In3. We therefore recommend to provide the In3 option to Dutch customers only.

The service supports two different calls:

  1. PayInInstallments
  2. Refund

PayInInstallments

Use PayInInstallments to create an In3 transaction. Performing this call initiates a credit check of the customer and - if approved - returns a redirect URL where the customer needs to be redirected to in order to perform the first payment (one of three). The remaining two installments can be paid later; In3 will sent the payment instructions per email to the consumer.

The following conditions apply for the PayInInstallments call:

  1. The input parameters only provide one set of address parameters. It is required to provide an address that is both the shipping ánd invoice address. Therefore a validation on your webshop checkout is required; customers who provide a different shipping address should not be able to check out with In3.
  2. The payment is based on the provided total amount (AmountDebit). Any provided article information and it's subtotals are ignored in this regard and only has an informational purpose; it will be shown on the In3 invoice to the consumer. For this reason it is still important that the provided subtotals (article prices, discounts or fees) match with the total amount.
View in playground

Request


JSON gateway request

Description
Required

Description of the order. Important note: This is a basic parameter.

ClientIP
Required

IP adres of the customer. Important note: This is a basic parameter.

CustomerType
Required

One values possible: Debtor

InvoiceDate
Required

Date of the invoice

LastName
Required

GroupType: Person. Customers' last name.

Culture
Required

GroupType: Person. Customers' culture code (ISO). At this moment, only "nl-NL" is supported.

Initials
Required

GroupType: Person. Customers' intitials.

Gender

GroupType: Person. Customers' gender. Possible values: 1, 2, 0, 9 (Male, female, unknown, not applicable. Default: 0).

BirthDate
Required

GroupType: Person. Customers' birth date.

Street
Required

GroupType: Address. Customers' Street.

HouseNumber
Required

GroupType: Address. Customers' housenumber

HouseNumberSuffix

GroupType: Address. Customers'' house number suffix

ZipCode
Required

GroupType: Address. Customers' zip code

City
Required

GroupType: Address. Customers' City

Country
Required

GroupType: Address. Customers' country

Phone
Required

GroupType: Phone. Customers' phonenumber

Email
Required

GroupType: Email. Customers' emailadress

Code
Required

GroupType: ProductLine. Identification code of the article, for instance an article number.

Name
Required

GroupType: ProductLine. Name of the article

Quantity
Required

GroupType: ProductLine. The ordered quantity of the article

Price
Required

GroupType: ProductLine. Price of the article

Fax

GroupType: Phone. Customers' fax number

Name

GroupType: SubtotalLine. This optional parameter can be used to provide any desired variable. For example, you can use it to define a "Discount", "Payment Fee", "Shipping Costs", or even a "Customer Number".

Value

GroupType: SubtotalLine. Value of the defined SubtotalLine variable. Following the examples above, this could be any amount for Discount, Payment Fee and Shipping Costs (we advice to use a negative amount for Discount) or 12345 for Customer Code.

IsInThreeGuarantee

Legacy parameter, provide this parameter with value true.

JSON

copy
{
   "ClientIP": {
      "Type": 0,
      "Address": "0.0.0.0"
   },
   "Description": "Thank you for your order",
   "Currency": "EUR",
   "AmountDebit": 3.00,
   "Invoice": "testinvoice 12345678",
   "Services": {
      "ServiceList": [
         {
            "Name": "Capayable",
            "Action": "PayInInstallments",
            "Parameters": [
               {
                  "Name": "CustomerType",
                  "GroupType": "",
                  "GroupID": "",
                  "Value": "Debtor"
               },
               {
                  "Name": "InvoiceDate",
                  "GroupType": "",
                  "GroupID": "",
                  "Value": "23-02-2018"
               },
               {
                  "Name": "LastName",
                  "GroupType": "Person",
                  "GroupID": "",
                  "Value": "Smith"
               },
               {
                  "Name": "Culture",
                  "GroupType": "Person",
                  "GroupID": "",
                  "Value": "nl-NL"
               },
               {
                  "Name": "Initials",
                  "GroupType": "Person",
                  "GroupID": "",
                  "Value": "J.S."
               },
               {
                  "Name": "Gender",
                  "GroupType": "Person",
                  "GroupID": "",
                  "Value": "1"
               },
               {
                  "Name": "BirthDate",
                  "GroupType": "Person",
                  "GroupID": "",
                  "Value": "1990-01-01"
               },
               {
                  "Name": "Street",
                  "GroupType": "Address",
                  "GroupID": "",
                  "Value": "Hoofdstraat"
               },
               {
                  "Name": "HouseNumber",
                  "GroupType": "Address",
                  "GroupID": "",
                  "Value": "90"
               },
               {
                  "Name": "HouseNumberSuffix",
                  "GroupType": "Address",
                  "GroupID": "",
                  "Value": "a"
               },
               {
                  "Name": "ZipCode",
                  "GroupType": "Address",
                  "GroupID": "",
                  "Value": "8441ER"
               },
               {
                  "Name": "City",
                  "GroupType": "Address",
                  "GroupID": "",
                  "Value": "Heerenveen"
               },
               {
                  "Name": "Country",
                  "GroupType": "Address",
                  "GroupID": "",
                  "Value": "NL"
               },
               {
                  "Name": "Phone",
                  "GroupType": "Phone",
                  "GroupID": "",
                  "Value": "0612345678"
               },
               {
                  "Name": "Email",
                  "GroupType": "Email",
                  "GroupID": "",
                  "Value": "your@email.nl"
               },
               {
                  "Name": "Code",
                  "GroupType": "ProductLine",
                  "GroupID": "1",
                  "Value": "abc123"
               },
               {
                  "Name": "Name",
                  "GroupType": "ProductLine",
                  "GroupID": "1",
                  "Value": "Blue Toy Car"
               },
               {
                  "Name": "Quantity",
                  "GroupType": "ProductLine",
                  "GroupID": "1",
                  "Value": "1"
               },
               {
                  "Name": "Price",
                  "GroupType": "ProductLine",
                  "GroupID": "1",
                  "Value": "10.00"
               },
               {
                  "Name": "Fax",
                  "GroupType": "Phone",
                  "GroupID": "",
                  "Value": "0101234567"
               },
               {
                  "Name": "Name",
                  "GroupType": "SubtotalLine",
                  "GroupID": "",
                  "Value": "Korting"
               },
               {
                  "Name": "Value",
                  "GroupType": "SubtotalLine",
                  "GroupID": "",
                  "Value": "-2.00"
               }
            ]
         }
      ]
   }
}

Response


JSON gateway response

The response contains a URL where the customer can be redirected to in order to perform the first initial payment. However, this will only happen in live mode. If the call is performed in test mode, an immediate succes status will be returned.

JSON

copy
{
   "Key": "B3E81DCB894A43619AD8CCE5A10F5xxx",
   "Status": {
      "Code": {
         "Code": 791,
         "Description": "Pending processing"
      },
      "SubCode": {
         "Code": "S002",
         "Description": "An additional action is required: Pay first installment via Capayable"
      },
      "DateTime": "2018-02-23T12:15:26"
   },
   "RequiredAction": {
      "RedirectURL": "https://checkout.buckaroo.nl/html/redirect.ashx?r=D197713CEE864F9C9D2643EDB6C99xxx",
      "RequestedInformation": null,
      "PayRemainderDetails": null,
      "Name": "Redirect",
      "TypeDeprecated": 0
   },
   "Services": [
      {
         "Name": "Capayable",
         "Action": null,
         "Parameters": [
            {
               "Name": "CapayableTransactionKey",
               "Value": "65af1494fb6540e8a323477e80815xxx"
            }
         ]
      }
   ],
   "CustomParameters": null,
   "AdditionalParameters": null,
   "RequestErrors": null,
   "Invoice": "testinvoice 12345678",
   "ServiceCode": "Capayable",
   "IsTest": false,
   "Currency": "EUR",
   "AmountDebit": 3,
   "TransactionType": "V406",
   "MutationType": 2,
   "RelatedTransactions": null,
   "ConsumerMessage": null,
   "Order": null,
   "IssuingCountry": null,
   "StartRecurrent": false,
   "Recurring": false,
   "CustomerName": null,
   "PayerHash": null,
   "PaymentKey": "3B44FD7B73694891A59C04010890Exxx"
}

Push


JSON push response

When the payment has been done and the customer has succesfully been redirected back to the merchants' website, the following push will be performed by Buckaroo.

JSON

copy
{
   "Transaction": {
      "Key": "B3E81DCB894A43619AD8CCE5A10F5xxx",
      "Invoice": "testinvoice 12345678",
      "ServiceCode": "Capayable",
      "Status": {
         "Code": {
            "Code": 190,
            "Description": "Succes"
         },
         "SubCode": {
            "Code": "S990",
            "Description": "De verwerking is geslaagd."
         },
         "DateTime": "2018-02-23T12:19:14"
      },
      "IsTest": false,
      "Order": null,
      "Currency": "EUR",
      "AmountDebit": 3,
      "TransactionType": "V406",
      "Services": [
         {
            "Name": "Capayable",
            "Action": null,
            "Parameters": [
               {
                  "Name": "CapayableTransactionKey",
                  "Value": "65af1494fb6540e8a323477e80815xxx"
               }
            ],
            "VersionAsProperty": 1
         }
      ],
      "CustomParameters": null,
      "AdditionalParameters": null,
      "MutationType": 2,
      "RelatedTransactions": null,
      "IsCancelable": false,
      "IssuingCountry": null,
      "StartRecurrent": false,
      "Recurring": false,
      "CustomerName": null,
      "PayerHash": null,
      "PaymentKey": "3B44FD7B73694891A59C04010890Exxx"
   }
}

Refund

This action can be used to perform a refund (or cancellation) of a placed order. This can be a "Pay" order as well as a "PayInInstallments" order.

View in playground

Request


JSON gateway request

For this request it is required to provide an AmountDebit and the transactionkey of the original order.

JSON

copy
{
   "Currency": "EUR",
   "AmountCredit": 0.3,
   "Invoice": "testinvoice 123",
   "OriginalTransactionKey": "1EC52112B19E4AF198E7C51D36C1xxxx",
   "Services": {
      "ServiceList": [
         {
            "Name": "Capayable",
            "Action": "Refund"
         }
      ]
   }
}

Response


JSON gateway request

JSON

copy
{
   "Key": "5DABBCA4939A44CB8DD845E7944Axxxx",
   "Status": {
      "Code": {
         "Code": 190,
         "Description": "Success"
      },
      "SubCode": {
         "Code": "S990",
         "Description": "The request was successful."
      },
      "DateTime": "2018-01-16T10:22:52"
   },
   "RequiredAction": null,
   "Services": [
      {
         "Name": "Capayable",
         "Action": null,
         "Parameters": [
            {
               "Name": "Amount credited",
               "Value": "30"
            }
         ]
      }
   ],
   "CustomParameters": null,
   "AdditionalParameters": null,
   "RequestErrors": null,
   "Invoice": "testinvoice 123",
   "ServiceCode": "Capayable",
   "IsTest": false,
   "Currency": "EUR",
   "AmountCredit": 0.3,
   "TransactionType": "V405",
   "MutationType": 2,
   "RelatedTransactions": [
      {
         "RelationType": "refund",
         "RelatedTransactionKey": "1EC52112B19E4AF198E7C51D36C1xxxx"
      }
   ],
   "ConsumerMessage": null,
   "Order": null,
   "IssuingCountry": null,
   "StartRecurrent": false,
   "Recurring": false,
   "CustomerName": null,
   "PayerHash": null,
   "PaymentKey": "B4F8B62EA1054B70BAE670F16871xxxx"
}

Push


JSON push response

JSON

copy
{
   "Transaction": {
      "Key": "5DABBCA4939A44CB8DD845E7944Axxxx",
      "Invoice": "Testinvoice18xxxx",
      "ServiceCode": "Capayable",
      "Status": {
         "Code": {
            "Code": 190,
            "Description": "Success"
         },
         "SubCode": null,
         "DateTime": "2018-01-16T10:22:52"
      },
      "IsTest": false,
      "Order": null,
      "Currency": "EUR",
      "AmountCredit": 0.3,
      "TransactionType": "V405",
      "Services": null,
      "CustomParameters": null,
      "AdditionalParameters": null,
      "MutationType": 2,
      "RelatedTransactions": [
         {
            "RelationType": "refund",
            "RelatedTransactionKey": "1EC52112B19E4AF198E7C51D36C1xxxx"
         }
      ],
      "IsCancelable": false,
      "IssuingCountry": null,
      "StartRecurrent": false,
      "Recurring": false,
      "CustomerName": null,
      "PayerHash": null,
      "PaymentKey": null
   }
}