Payout API
POST/rest/payout
/rest/payoutProduction URL
https://api.betterpayment.de/rest/payoutTest URL
https://testapi.betterpayment.de/rest/payoutPayout API is used to create payouts - transferring money from your merchant account to a customer's account. Unlike refunds, payouts do not require a previously created payment transaction (unreferenced transfers). This is useful for scenarios like disbursements, rewards, or compensation payments.
note
Only specific payment methods support payouts. Please check the Transaction Types section in Payment Methods to verify if your payment method supports payouts.
Payout API Request
Common Parameters
payment_typeStringrequiredIdentifier for the payment method. See list of payment types
order_idStringrequiredAny alphanumeric string to identify your payout
amountFloatrequiredAmount to be paid out (including any fees)
currencyStringrequired3-letter currency code (
ISO 4217). Defaults to EURmerchant_referenceStringrequiredReference text for the payout transaction
postback_urlStringrequiredThe URL for updates about payout status
Example Request
POST /rest/payout
Authorization: Basic <base64(api_key:api_password)>
Content-Type: application/json
{
"payment_type": "cardpos",
"order_id": "PAYOUT-12345",
"amount": 50.00,
"currency": "EUR",
"merchant_reference": "Refund for order XYZ",
"postback_url": "https://your-postback.url.com"
}
Customer Information
first_nameStringRecipient's first name
last_nameStringRecipient's last name
addressStringStreet address
cityStringCity of the recipient
countryStringrequiredCountry Code in
ISO 3166-1 alpha-2 codepostal_codeStringPostal code or zip code
emailStringRecipient's email address
Customer Information Fields
{
"first_name": "John",
"last_name": "Doe",
"address": "Rosenthalerstr. 8",
"city": "Berlin",
"country": "DE",
"postal_code": "10178",
"email": "john.doe@email.com"
}
POS-Specific Parameters
When creating POS (card-present) payouts using payment_type: "cardpos", additional parameters are required:
pos_dataObjectrequiredRequired only for POS payment type. POS-specific data including card and terminal information
POS Data Fields
{
"pos_data": {
"type": "...",
"card": { "number": "...", "expiry": "..." },
"terminal": { "type": "...", "id": "..." }
}
}
The pos_data object includes:
- type - Terminal entry mode information
- card - Card data (number, expiry, track2_data, emv_data)
- terminal - Terminal information (type, id, attended, capabilities)
Refer to POS Payment Method for detailed structure and examples.
Payout API Response
transaction_idStringID of the created payout transaction
status_codeIntegerStatus code of the payout (typically 2 for pending)
statusStringStatus of the payout (e.g., "pending")
order_idStringYour payout order ID
error_codeIntegerError code for the response (0 for success)
Example Response
{
"transaction_id": "0b3c2327-9394-4ab4-be18-6e9d85e652fd",
"status_code": 2,
"status": "completed",
"order_id": "PAYOUT-12345",
"error_code": 0
}