Payments
Multi core
With payments started on the new Order:Create API's on Pay's multi core platform (thus on one of our TGU's) the format in which we exchange the status of an object to your system has changed. How you respond to our exchange remains the same (read more).
This exchange will provide a more detailed overview of the order and the exchange process. Therefore there is no need anymore to call one of our API's to retrieve the status of a payment.
An exchange includes all essential data in its body to process the request. It contains the following key elements:
- Event: The event that triggered the exchange to your system.
- Type: The type of the object being exchanged.
- Version: The version of the object being exchanged. This allows you to dynamically change your exchange handling logic without altering the exchange URL.
- ID: The unique identifier of the object being exchanged.
- Object: The complete object in its current state, which triggered an action resulting in the exchange being sent.
If we put all the keys together, the exchange will look as follow:
{
"event": "status_changed",
"type": "order",
"version": 1,
"id": "68595063-5034-86b9-199f-737862303481",
"object": {
"id": "68595063-5034-86b9-199f-737862303481",
"type": "sale",
"serviceId": "SL-1234-1234",
"description": "PAY03351656565",
"reference": "traala",
"manualTransferCode": "1000 0508 0610 5020",
"orderId": "50806105020X3481",
"uuid": "a63f7378-6230-3481-5080-6105020a3481",
"customerKey": "fbfb1bbb1531f7efe12aeffa3af91542",
"status": {
"code": 100,
"action": "PAID"
},
"receipt": null,
"integration": {
"pointOfInteraction": "IN_PERSON",
"test": false
},
"stats": {
"extra1": null,
"extra2": null,
"extra3": null,
"tool": null,
"info": null,
"object": null,
"promotorId": null,
"domainId": null
},
"transferData": {},
"amount": {
"value": 3,
"currency": "EUR"
},
"authorizedAmount": {
"value": 0,
"currency": "EUR"
},
"capturedAmount": {
"value": 3,
"currency": "EUR"
},
"checkoutData": null,
"payments": [
{
"id": "68595091-5034-83c8-22c5-050806105020",
"paymentMethod": {
"id": 10,
"input": []
},
"customerType": null,
"customerKey": "fbfb1bbb1531f7efe12aeffa3af91542",
"customerId": "NL13ABCA0123456789",
"customerName": "John Doe",
"customerMethod": {
"type": "iban",
"data": {
"iban": "NL13ABCA0123456789",
"name": "John Doe",
"bic": "ABCANL2A"
}
},
"ipAddress": "127.0.0.1",
"secureStatus": true,
"paymentVerificationMethod": 0,
"status": {
"code": 100,
"action": "PAID"
},
"currencyAmount": {
"value": 3,
"currency": "EUR"
},
"amount": {
"value": 3,
"currency": "EUR"
},
"authorizedAmount": {
"value": 0,
"currency": "EUR"
},
"capturedAmount": {
"value": 3,
"currency": "EUR"
},
"supplierData": null
}
],
"createdAt": "2025-06-23T13:02:27+00:00",
"createdBy": "AT-1234-1234",
"modifiedAt": "2025-06-23T13:12:47+00:00",
"modifiedBy": null,
"expiresAt": "2025-06-30T13:02:27+00:00",
"completedAt": "2025-06-23T13:03:35+00:00",
"links": {
"status": "<status-url>",
"abort": "<abort-url>",
"approve": "<approve-url>",
"decline": "<decline-url>",
"void": "<void-url>",
"capture": "<capture-url>",
"captureAmount": "<capture-amount-url>",
"captureProducts": "<capture-product-url>",
"debug":"<debug-url>",
"checkout": "<checkout-url>",
"redirect": "<redirect-url>"
}
}
}
CustomerMethod for each payment
For each payment we return a customerMethod
object, this object gives information about the customer that has done the payment.Depending on the paymentMethod used the customerMethod can have a different structure.
For online card payments (Card not Present) payments, the object looks like:
{
"customerMethod": {
"type": "card",
"data": {
"maskedPan": "535456******4283",
"scheme": "MASTERCARD",
"issuerId": "18536",
"countryCode": "528",
"cardType": "consumer",
"fundingType": "debit",
"brandCode": "DMC",
"brandName": "Debit MasterCard®",
"brandProduct": "MDH"
}
}
}
For IBAN based payment methods (like iDEAL), the object looks like
{
"customerMethod": {
"type": "iban",
"data": {
"iban": "NL13ABCA0123456789",
"name": "John Doe",
"bic": "ABCANL2A"
}
}
}
Single core (legacy)
Starting transaction on our single core with our legacy API's returns API calls in the following format:
{
"action": "new_ppt",
"pincode": "",
"website_location_id": "1",
"website_id": "1",
"program_id": "202521",
"promotor_id": "",
"tool": "tool",
"info": "info",
"object": "object",
"domain_id": "0",
"ip_address": "10.11.12.13",
"amount": "0.1",
"extra1": "",
"extra2": "",
"extra3": "",
"secret": "",
"enduser_id": "0",
"payment_session_id": "00000000000X0000",
"payment_profile_id": "10",
"product_id": "",
"payment_method_id": "4",
"starttime": "2024-12-19 08:11:54",
"stoptime": "2024-12-19 08:12:02",
"customer_id": "",
"order_id": "50101000003X34f0",
"customer_key": "11f236**********6af693e380b",
"country_id": "",
"country_code": "NL",
}
Updated 3 months ago