Skip to main content

Payment

Request parameters

NameTypeDetailsMandatoryDescription
referencestringUNIQUE, [ -~] + (max: 85 ascii printable characters)YYour own payment identifier for the request.
amountintYThe payment amount in cents (500 XXX = 5.00 XXX).
currencystring[A-Z] 3YThe currency in which the payment should be processed. The payment currency (ISO-4217). This will also be the default currency for the created mandate.
preauthbooleanN*This parameter determines whether the payment request should be fully processed or only authorized. * Defaults to false.
capture_dateunix timestampNThis parameter determines when the pre-authorization will be automatically captured (if applicable).
recipient_maparrayNPaying out to other accounts. See section below.

Paying out to other accounts

You have the possibility to automatically pay out a share or the entire amount of a payment (oneshot or rebill) to one or multiple accounts. For example you could send a given percentage of a sale to an account dedicated to taxes, a fixed amount to another one dedicated to a charity, or both.

In order to do so, your payment object must contain a recipient_map array made of recipients with the following properties:

NameTypeDetailsMandatoryDescription
account_idintYThe SysPay account id of the recipient (the account could belong to another user)
user_idintYThe SysPay user id of the owner of the recipient account (to prevent paying out a wrong account)
calc_typestringfixed | percentYThe way the pay out is calculated
valueintegerYIf calc_type is percent, this is the percentage * 100 to subtract off the full payment amount (100 == 1%), if calc_type is fixed, this will be a fixed amount.
currencystringY*This value must be the same as the currency of the payment. * If calc_type is fixed.
settlement_delayintNA number of seconds the pay out settlement will be delayed for compared to the actual payment settlement

Example

{
"reference": "65ea2474792d8",
"amount": 10000,
"currency": "EUR",
"preauth": false
}