v1

latestOpenAPI 3.1.02026-08-0683254.8 KB
Merchant Endpoints

create static qr payment

This API is intended for merchants initiating staticQR payments for specific POS(point of sale). If active payment already exists for provided combination of profileId and posId, then existing payment will be invalidated and new one created. Onboarded merchants should have api keys for each profile, the api key will carry the profileId information required to find the correct creditor in the merchant-service

The token/api-key necessary to call this endpoint must contain:

  • subjectType : "INTEGRATOR:{CCV_ID}" or "MERCHANT:{ID}"
  • resource: "PAYMENTPROFILE:{profileId}",
  • authority: MERCHANT_PAYMENT
post/v3/payments/pos

Request body

referencestring

Partner payment reference, used to reference the Bancontact Company payment in the partner's system

bulkIdstring

Field used to reference a bulk batch, so the merchant can inform how the payments should be bulked. If it's not set here it will default to the one configured in the profile.

amountinteger required

Amount in cents requested

currency'EUR'

Currency code. Only EUR is supported ISO 4217

descriptionstring

Description of the payment that will be shown to the debtor, also used in the bank statement for reconciliation purposes. The characters used must comply with the SEPA Requirements for an Extended Character Set (UNICODE Subset) - Best Practices | European Payments Council.

posIdstring required

Merchant's point of sale identifier

shopIdstring

Id of the shop, where payment is created

shopNamestring

Name of the shop, where payment is created. This name will be shown to the user during payment, but will be truncated in the remittance info, if longer than 23 characters.

identifyCallbackUrlstring

Callback url to which merchants will be notified about the payment identification. If it's not set here it will default to the one configured in the profile

callbackUrlstring

Callback url to which the merchant will be notified about the payment payout/cancel. If it's not set here it will default to the one set in the profile

Example request

{
  "reference": "19848995",
  "bulkId": "Bulk-1-200",
  "posId": "POS00001",
  "shopId": "3418e946-ef71-41ef-ad56-c41421c1e079",
  "shopName": "Bun café",
  "identifyCallbackUrl": "https://api.merchant.bancontact.net/identify",
  "callbackUrl": "https://api.merchant.bancontact.net/payment",
  "voucherEligibility": [
    {
      "voucherSchemes": [
        "BEL_MEAL_VOUCHER"
      ],
      "amount": 1013
    }
  ]
}

Response

Payment successfully created

paymentIdstring required

Payment ID

status'PENDING' required

the status of the payment created

createdAtstring date-time required

the creation time of the payment

expiresAtstring date-time required

the time from which the payment will be expired

descriptionstring

Description of the payment that will be shown to the debtor, also used in the bank statement for reconciliation purposes. The characters used must comply with the SEPA Requirements for an Extended Character Set (UNICODE Subset) - Best Practices | European Payments Council. Only first 35 characters will be used for the remittance info

referencestring

Merchant payment reference, used to reference the Bancontact Company payment in the merchant's system. The characters used must comply with the SEPA Requirements for an Extended Character Set (UNICODE Subset) - Best Practices | European Payments Council.

amountinteger required

Amount in cents requested

currency'EUR' required

Currency code. Only EUR is supported ISO 4217

Example response

{
  "paymentId": "5f91483d-78a7-4914-bc6f=",
  "reference": "19848995",
  "creditor": {
    "profileId": "07e998f9-d932-4848-8b60-d5b5ae94b1b2",
    "merchantId": "dee718bb-3b6d-4312-9404-3d63d14529cc",
    "name": "John",
    "iban": "BE12 3456 7890 1234",
    "identifyCallbackUrl": "https://api.merchant.bancontact.net/identify",
    "callbackUrl": "https://api.merchant.bancontact.net/payment"
  }
}