Parameters and Samples Create Invoice

Request

Service Specific Parameters:

ParameterTypeRequiredDescription
InvoiceAmountdecimalyesThe amount of the invoice. Note: In case of a CreateCombinedInvoice request, the InvoiceAmount may deviate from the transaction amount, e.g. if additional transactions are to be added later, such as ExternalPayments.
InvoiceAmountVatdecimalThe VAT amount on the invoice.
InvoiceDateyesThe invoice date. (yyyy-mm-dd)
DueDateyesThe due date for the invoice. The schedule starts counting from this date. Important note: if combined with SEPA Direct Debit, the collect date should always precede the due date of the invoice, since you don't want to trigger a reminder step before debiting the customer. If however, the collect date is accidentally set after the due date, then the first reminder step will be postponed till the collect date, but only if it's set within 14 days after the due date. If it's set further than that, then our system will perform another check after 14 days and so on.
SchemeKeyStringThe key of the scheme to use. Available keys are found in the Buckaroo Payment Plaza: Configuration > Credit Management.
MaxStepIndexintegerIf given, only this many scheme steps are taken, allowing the scheme to be cut short. (min: 1)
AllowedServicesstringAllowed payment methods (Comma-separated list of service codes) when using a pay link in Credit Management. This acts as a whitelist. Cannot be combined with DisallowedServices. The order in which the payment methods are listed also determines the order in which they are displayed to the customer on the Buckaroo checkout page. Default: all services are allowed.
DisallowedServicesstringDisallowed payment methods (Comma-separated list of service codes) when using a pay link in Credit Management. This acts as a blacklist. Cannot be combined with AllowedServices. Default: all services are allowed.
AllowedServicesAfterDueDatestringAllowed payment methods (Comma-separated list of service codes) after the due date when using a pay link in Credit Management. This acts as a whitelist. Comma-separated. Cannot be combined with DisallowedServicesAfterDueDate. The order in which the payment methods are listed also determines the order in which they are displayed to the customer on the Buckaroo checkout page. Default: all services are allowed.
DisallowedServicesAfterDueDatestringDisallowed payment methods (Comma-separated list of service codes) after the due date when using a pay link in Credit Management. This acts as a blacklist. Cannot be combined with AllowServicesAfterDueDate. Default: all services are allowed.
CodestringRequiredGroupType: Debtor. A unique code by which the merchant identifies the debtor. If the debtor with this code exists, any given components are overwritten.
CulturestringGroupType: Person. The person’s culture code. May be specific, e.g. nl-NL, en-US, or non-specific, e.g. en. Required if person information is provided.
TitlestringGroupType: Person. The person’s title.
InitialsstringGroupType: Person. The person’s initials.
FirstNamestringGroupType: Person. The person’s first name.
LastNamePrefixstringGroupType: Person. The person’s last name prefix, e.g. β€˜van der’.
LastNamestringGroupType: Person. The person’s last name, excluding prefix. Required if person information is provided.
GenderintegerGroupType: Person. The person’s gender. Possible values: 1, 2, 0, 9 (Male, female, unknown, not applicable. Default: 0).
BirthDatedateGroupType: Person. The person’s date of birth (yyyy-mm-dd). Important: debtor has to be between 2 and 120 years old, in order to transfer his/her invoices to collection agency CIB.
PlaceOfBirthstringGroupType: Person. The person’s place of birth.
CulturestringGroupType: Company. The company’s culture code. May be specific, e.g. nl-NL, en-US, or non-specific, e.g. en. Required if company information is provided.
NamestringGroupType: Company. The company’s name. Required if company information is provided.
VatApplicablebooleanGroupType: Company. Whether VAT applies to the company.
VatNumberstringGroupType: Company. The company’s VAT identification number.
ChamberOfCommercestringGroupType: Company. The company’s Chamber of Commerce registration number.
StreetstringGroupType: Address. The address’ street name. Required if address is given. Required if CM scheme has a collection agency step.
HouseNumberintegerGroupType: Address. The address’ house number. Required if CM scheme has a collection agency step.
HouseNumberSuffixstringGroupType: Address. The address’ house number suffix.
ZipcodestringGroupType: Address. The address’ zip code. Required if address is given. Required if CM scheme has a collection agency step.
CitystringGroupType: Address. The address’ city. Required if address is given. Required if CM scheme has a collection agency step.
StateGroupType: Address. The address’ state or province.
CountrystringGroupType: Address. The address’ two-letter ISO country code, e.g. NL or US. Required if address is given. Required if CM scheme has a collection agency step.
EmailstringGroupType: Email. The e-mail address of the person or company.
MobilestringGroupType: Phone. The mobile phone number. Please note: this is the only number that can be used for SMS reminders. With regards to SMS reminders it is advised to send in the phone number formatted as either "+31612345678" or "0612345678", filtering out any dashes "-" and white spaces " ".
LandlinestringGroupType: Phone. The landline phone number.
FaxstringGroupType: Phone. The fax number.
ApplyStartRecurrentstringIf True, every transaction via the Invoice paylink will have the property StartRecurrent = True.


Example Request:

{
   "Currency": "EUR",
   "Invoice": "testinvoice123r",
   "Services": {
      "ServiceList": [
         {
            "Name": "CreditManagement3",
            "Action": "CreateInvoice",
            "Parameters": [
               {
                  "Name": "ApplyStartRecurrent",
                  "Value": "False"
               },
               {
                  "Name": "InvoiceAmount",
                  "Value": "10.00"
               },
               {
                  "Name": "InvoiceAmountVAT",
                  "Value": "1.00"
               },
               {
                  "Name": "InvoiceDate",
                  "Value": "2017-09-22"
               },
               {
                  "Name": "DueDate",
                  "Value": "2018-12-23"
               },
               {
                  "Name": "SchemeKey",
                  "Value": "xxxx"
               },
               {
                  "Name": "MaxStepIndex",
                  "Value": "2"
               },
               {
                  "Name": "AllowedServices",
                  "Value": "ideal,mastercard"
               },
               {
                  "Name": "AllowedServicesAfterDueDate",
                  "Value": "ideal,mastercard"
               },
               {
                  "Name": "Code",
                  "GroupType": "Debtor",
                  "GroupID": "",
                  "Value": "johnsmith4"
               },
               {
                  "Name": "Email",
                  "GroupType": "Email",
                  "GroupID": "",
                  "Value": "[email protected]"
               },
               {
                  "Name": "Culture",
                  "GroupType": "Person",
                  "GroupID": "",
                  "Value": "nl-NL"
               },
               {
                  "Name": "Title",
                  "GroupType": "Person",
                  "GroupID": "",
                  "Value": "Msc"
               },
               {
                  "Name": "Initials",
                  "GroupType": "Person",
                  "GroupID": "",
                  "Value": "JS"
               },
               {
                  "Name": "FirstName",
                  "GroupType": "Person",
                  "GroupID": "",
                  "Value": "John"
               },
               {
                  "Name": "LastNamePrefix",
                  "GroupType": "Person",
                  "GroupID": "",
                  "Value": "Jones"
               },
               {
                  "Name": "LastName",
                  "GroupType": "Person",
                  "GroupID": "",
                  "Value": "Smith"
               },
               {
                  "Name": "Gender",
                  "GroupType": "Person",
                  "GroupID": "",
                  "Value": "1"
               },
               {
                  "Name": "BirthDate",
                  "GroupType": "Person",
                  "GroupID": "",
                  "Value": "1990-01-01"
               },
               {
                  "Name": "PlaceOfBirth",
                  "GroupType": "Person",
                  "GroupID": "",
                  "Value": "Utrecht"
               },
               {
                  "Name": "Culture",
                  "GroupType": "Company",
                  "GroupID": "",
                  "Value": "nl-NL"
               },
               {
                  "Name": "Name",
                  "GroupType": "Company",
                  "GroupID": "",
                  "Value": "My Company Corporation"
               },
               {
                  "Name": "VatApplicable",
                  "GroupType": "Company",
                  "GroupID": "",
                  "Value": "true"
               },
               {
                  "Name": "VatNumber",
                  "GroupType": "Company",
                  "GroupID": "",
                  "Value": "NL140619562B01"
               },
               {
                  "Name": "ChamberOfCommerce",
                  "GroupType": "Company",
                  "GroupID": "",
                  "Value": "20091741"
               },
               {
                  "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": "State",
                  "GroupType": "Address",
                  "GroupID": "",
                  "Value": "Friesland"
               },
               {
                  "Name": "Country",
                  "GroupType": "Address",
                  "GroupID": "",
                  "Value": "NL"
               },
               {
                  "Name": "Mobile",
                  "GroupType": "Phone",
                  "GroupID": "",
                  "Value": "06198765432"
               }
            ]
         }
      ]
   }
}

Response

Parameters

ParameterDescription
InvoiceKeyThe unique key that was created to identify the invoice.
DebotGuidUnique identifier of the debtor
InvoicePayLinkPay link of the invoice


Example Response

{
    "Key": "EAE77A1EDCCC479DA94325A4D245xxxx",
    "Status": {
        "Code": {
            "Code": 190,
            "Description": "Success"
        },
        "SubCode": {
            "Code": "S001",
            "Description": "Transaction successfully processed"
        },
        "DateTime": "2017-09-18T16:42:10"
    },
    "RequiredAction": null,
    "Services": [
        {
            "Name": "CreditManagement3",
            "Action": null,
            "Parameters": [
                {
                    "Name": "InvoiceKey",
                    "Value": "9C9D0305DE4A47178DE903FA91C1xxxx"
                },
                {
                    "Name": "DebtorGuid",
                    "Value": "xxxxxxxxxxxxxxxxxxxxxxxxxxx"
                },
                {
                    "Name": "InvoicePayLink",
                    "Value": "https://testcheckout.buckaroo.nl/html/?brq_paydirect_inv=xxxxxx"
                }
            ]
        }
    ],
    "CustomParameters": null,
    "AdditionalParameters": null,
    "RequestErrors": null,
    "ServiceCode": "CreditManagement3",
    "IsTest": true,
    "ConsumerMessage": null
}

Push

Parameters

ParameterDescription
InvoiceKeyThe unique key identifying the invoice. Was also output from the request that originally created the invoice.
InvoiceNumberThe invoice number.
WebsiteKeyThe unique key identifying the website that the invoice belongs to.
DebtorCodeThe unique code identifying the debtor that the invoice is for.
SchemeKeyThe key of the scheme that the invoice follows.
IsTestWether the invoice was a test or not
TypeThe type of the invoice. Possible values: 1) RegularInvoice: the type of invoice that is normally used, 2) PartialInvoice: a partial invoice, such as those used in Payment Plans. Not applicable to most merchants, and can usually be ignored, 3) CreditNote: A credit note reducing the open amount of an existing invoice. The credit note also causes a financial change on the original invoice, which provides a clearer context. As such, the credit note push can usually be ignored.
CultureThe debtor’s culture, if available, or β€œen-US” otherwise.
InvoiceDateThe official date of the invoice.
DueDateThe date on which payment is due.
InvoiceStatusCodeThe current status of the invoice. Possible Status codes are:Β 10: Active. The invoice follows its scheme, if applicable.Β 20: Paused. The invoice currently does proceed on its scheme.Β 21: PausedByDispute. Like Paused, but specifically caused by a manually registered dispute.Β 22: PausedByPaymentPlan. Like Paused, but specifically caused by a payment plan. This status can only be removed through termination of the payment plan.Β 23: PausedDueToValidation. The invoice is paused because one or more scheme actions could not be performed due to a validation error.Β 70: PendingTransferToCollectionAgency. The invoice is marked for transfer to the collection agency, in accordance with its scheme.Β 71: TransferredToCollectionAgency. The invoice is at the collection agency, and awaiting their response.Β 72: AcceptedByCollectionAgency. The collection agency has accepted the invoice and will work on it.Β 73: ProcessedByCollecionAgency. The collection agency has finished its work on the invoice.Β 74: ProcessedByCollectionAgencyIncomplete. The collection agency has finished its work on the invoice but did not manage to (fully) collect the invoice.Β 75: PendingRecall. The recall request has yet to be confirmed by the collection agency.Β 76: Recalled. Collection agency has confirmed the recall.Β 79: RefusedByCollectionAgency. The collection agency has not accepted the invoice.Β 80: WrittenOff. The invoice was manually written off by the merchant.Β 90: Rejected. The invoice was rejected, most likely because its request was invalid. It has never been active.Β 91: Cancelled. The invoice has been active, but is no longer. For example, this can happen to the partial invoices created by a payment plan (see CreatePaymentPlan) if they cease to apply.Β 99: Emergency. This invoice was manually disabled because of an emergency. Tech support is examining it. 0: NotSet. A technical error took place. This status should never occur.
PreviousStepIndexThe last step that was taken on the invoice’s scheme. E.g. 0 means no steps were taken, 1 means step 1 is the last step that was taken, and so on.
PreviousStepDateTimeThe moment the previous step was taken. DateTimes are in Buckaroo’s local time zone, CE(S)T, in ISO-8601 format, as seen in the examples. Most systems support automatic interpretation and conversion of this representation.
EventThe name of the event that caused this push. 1)Β ChangedTransactionStatus: one of the invoice’s transactions changed status in a relevant way. Generally only a change to β€˜successful’ is relevant, although there are exceptions, e.g. a Sepa Direct Debit moving to or away from β€˜pending’ influences PendingSlowPaymentAmount, 2)Β ChangedStatus: the invoice changed status, e.g. to β€˜active’ or β€˜paused’. See below for options, 3)Β CreatedCreditNote: credit note was created on the invoice. Note that a push may be sent for the credit note itself, but the CreatedCreditNote event on the original invoice is the most relevant, 4)Β SentReminderMessage: a reminder was sent for the invoice, in accordance with its scheme, 5)Β SentBackupReminderMessage: a reminder was sent for the invoice using a backup method, in accordance with its scheme. E.g. the scheme may be set to send a letter if the e-mail cannot be delivered, 6)Β SkippedReminderBecauseNoMethodsRemain: a reminder action in the invoice’s scheme has failed to reach the debtor. This happens when all of the given communication methods bounce (e.g. incorrect e-mail address) or have been marked as unreachable by the merchant (e.g. through the Debtor screen in the Payment Plaza), 7)Β IncreasedAdminFee: the administration fee on the invoice has been increased, in accordance with the invoice’s scheme, 8)Β TransferredToCollectionAgency: the invoice has entered the collection agency process, in accordance with its scheme. Note that the ChangedStatus event provides more detailed updates as the invoice status changes throughout this process (transfer, acceptance, refusal, completion), 9)Β CreatedRecollect: a recollect was created for the invoice, in accordance with its scheme. This happens when Sepa Direct Debit recollection is active on the scheme, when the previous attempt fails and there is enough time for another attempt, 10)Β SentPaymentInvitationMessage: a payment invitation was sent for the invoice, in accordance with its scheme, 11)Β SentBackupPaymentInvitationMessage: A payment invitation was sent for the invoice using a backup method, in accordance with its scheme. E.g. the scheme may be set to send a letter if the e-mail cannot be delivered. 12)Β CmSchemeValidationError: One or more scheme actions could not be performed due to a validation error. 13)Β InvoicePausedDueToValidationErrors: The invoice is paused because one or more scheme actions could not be performed due to a validation error. This will only occur if 1) the payment invitation could not be performed, 2) not a single reminder message within a CM step could be performed or 3) the invoice could not be transferred to the collection agency.
EventCategoryThe category the event belongs to. Possible values: 1)Β FinancialChange: any change that relates to the invoice’s amounts, including the initial invoice creation, transaction status changes, and credit notes, 2)Β ValidationError: A validation error occurred, 3)Β Other: anything else, e.g. a reminder being sent.
EventDateTimeThe moment the event took place. Important, as earlier events should be ignored in case a later event has already been observed. See the section on β€œOrder Of Events”. DateTimes are in Buckaroo’s local time zone, CE(S)T, in ISO-8601 format, as seen in the examples. Most systems support automatic interpretation and conversion of this representation.
EventParametersAny number of additional pieces of data regarding the Event, as key-value pairs. E.g. the ChangedTransactionStatus event has a TransactionKey and a TransactionStatusCode parameter. Or the CmSchemeValidationError and InvoicePausedDueToValidationErrors events have the ValidationErrorMessage parameter. Note that ValidationErrorMessage parameters are always supplemented with an index number, because there can be multiple ValidationErrorMessages in one push message. So the first ValidationErrorMessage is always ValidationErrorMessage0, a second one ValidationErrorMessages1, third one ValidationErrorMessages2, and so on.
CurrencyThe invoice’s currency.
AmountDebitAn invoice’s amount. 0 for credit notes.
AmountCreditA credit note’s amount. 0 except for credit notes.
AmountAdminCostsThe administration costs that have been added to the invoice so far, in accordance with its scheme.
AmountCreditNotesThe total amount that has been credited on the invoice, by means of credit notes.
AmountPaidThe total main amount that was paid on the invoice, i.e. excluding administration costs.
AmountAdminCostsPaidThe total amount of the administration costs that was paid on the invoice.
AmountPendingSlowThe total amount that could still come in from pending β€œslow” payment methods. At the time of writing, this only applies to pending Sepa Direct Debits and Collection Agency Payouts. The invoice may not be paid yet, but it could very well become so when the payment succeeds, so we may not want to contact the debtor unless the payment fails.
OpenAmountThe main amount that is yet to be paid on the invoice, i.e. excluding administration costs.
OpenAmountAdminCostsThe amount of the administration costs that is yet to be paid on the invoice.
OpenAmountInclAdminCostsThe amount that is yet to be paid on the invoice, including administration costs.
IsPaids the invoice fully paid? This is the same as OpenAmount being greater than 0. We do not take administration costs into consideration.
DebtorGuidUnique identifier of the debtor
InvoicePayLinkPay link of the invoice

Example Push

{
   "Invoice": {
      "InvoiceKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "InvoiceNumber": "testinvoice_1614689513",
      "WebsiteKey": "0000",
      "DebtorCode": "JohnSmith12345",
      "DebtorGuid": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "SchemeKey": "xxxxx",
      "IsTest": true,
      "Type": "RegularInvoice",
      "Culture": "nl-NL",
      "InvoiceDate": "2021-03-02T00:00:00",
      "DueDate": "2021-03-02T00:00:00",
      "InvoiceStatusCode": 23,
      "PreviousStepIndex": 0,
      "PreviousStepDateTime": "2021-03-02T15:59:21",
      "InvoicePayLink": "http://testcheckout.local/html/?brq_paydirect_inv=xxxx",
      "Event": "InvoicePausedDueToValidationErrors",
      "EventCategory": "ValidationError",
      "EventDateTime": "2021-03-02T16:02:04.321891",
      "EventParameters": [
         {
            "Key": "ValidationErrorMessage0",
            "Value": "Required data Email missing."
         },
         {
            "Key": "ValidationErrorMessage1",
            "Value": "Required data MobilePhone missing."
         }
      ],
      "Currency": "EUR",
      "AmountDebit": 1,
      "AmountCredit": 0,
      "AmountAdminCosts": 0,
      "AmountCreditNotes": 0,
      "AmountPaid": 0,
      "AmountAdminCostsPaid": 0,
      "AmountPendingSlow": 0,
      "OpenAmount": 1,
      "OpenAmountAdminCosts": 0,
      "OpenAmountInclAdminCosts": 1,
      "IsPaid": false,
      "CustomParameters": [],
      "AdditionalParameters": []
   }
}