Use PayInInstallments to create an iDEAL 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; iDEAL In3 will sent the payment instructions per email to the consumer.

The following conditions apply for the PayInInstallments call:
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 iDEAL In3.
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 iDEAL 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.

PayInInstallments Request

Parameters

Service specific parameters

ParameterTypeRequiredRecommendedDescription
DescriptionstringRequiredDescription of the order. Important note: This is a basic parameter.
ClientIPstringRequiredIP address of the customer. Important note: This is a basic parameter.
CustomerTypestringRequiredOne value possible: Debtor
InvoiceDatedateRequiredDate of the invoice
LastNamestringRequiredGroupType: Person. Customers' last name.
CulturestringRequiredGroupType: Person. Customers' culture code (ISO). At this moment, only "nl-NL" is supported.
InitialsstringRequiredGroupType: Person. Customers' initials.
GenderintegerGroupType: Person. Customers' gender. Possible values: 1, 2, 0, 9 (Male, female, unknown, not applicable).
BirthDatedateRequiredGroupType: Person. Customers' birth date.
StreetstringRequiredGroupType: Address. Customers' Street.
HouseNumberintegerRequiredGroupType: Address. Customers' house number.
HouseNumberSuffixstringGroupType: Address. Customers' house number suffix.
ZipCodestringRequiredGroupType: Address. Customers' zip code.
CitystringRequiredGroupType: Address. Customers' City.
CountrystringRequiredGroupType: Address. Customers' country.
PhonestringRequiredGroupType: Phone. Customers' phone number.
EmailstringRequiredGroupType: Email. Customers' email address.
CodestringRequiredGroupType: ProductLine. Identification code of the article, for instance an article number.
NamestringRequiredGroupType: ProductLine. Name of the article.
QuantitydecimalRequiredGroupType: ProductLine. The ordered quantity of the article.
PricedecimalRequiredGroupType: ProductLine. Price of the article.
FaxstringGroupType: Phone. Customers' fax number.
NamestringGroupType: SubtotalLine. This optional parameter can be used to provide any desired variable.
ValuestringGroupType: SubtotalLine. Value of the defined SubtotalLine variable.
IsInThreeGuaranteestringLegacy parameter, provide this parameter with value true.

Example request

{
   "ClientIP": {
      "Type": 0,
      "Address": "0.0.0.0"
   },
   "Description": "Thank you for your order",
   "Currency": "EUR",
   "AmountDebit": 8.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": "[email protected]"
               },
               {
                  "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"
               }
            ]
         }
      ]
   }
}

PayInInstallments 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 success status will be returned.


Example response

{
   "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": 8,
   "TransactionType": "V406",
   "MutationType": 2,
   "RelatedTransactions": null,
   "ConsumerMessage": null,
   "Order": null,
   "IssuingCountry": null,
   "StartRecurrent": false,
   "Recurring": false,
   "Customer

Name": null,
   "PayerHash": null,
   "PaymentKey": "3B44FD7B73694891A59C04010890Exxx"
}

PayInInstallments push

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


Example push

{
   "Transaction": {
      "Key": "B3E81DCB894A43619AD8CCE5A10F5xxx",
      "Invoice": "testinvoice 12345678",
      "ServiceCode": "Capayable",
      "Status": {
         "Code": {
            "Code": 190,
            "Description": "Success"
         },
         "SubCode": {
            "Code": "S990",
            "Description": "De verwerking is geslaagd."
         },
         "DateTime": "2018-02-23T12:19:14"
      },
      "IsTest": false,
      "Order": null,
      "Currency": "EUR",
      "AmountDebit": 8,
      "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.


Refund request

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


Example request

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

Refund response


Example response

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

Refund push


Example push

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