Last Updated: 09 July 2025 | Change Log

Bancontact

Bancontact is a payment institution operating in Belgium.

Note

Make yourself familiar with our API Principles to ensure a resilient integration.

Product Overview

Feature summary

Payment typeCountryAcceptance CurrencySettlement CurrencyRecurringReversalsPartial ReversalsReversals periodDisputes
Local card schemeBelgiumEUREUR
  • Partial refund - yes
  • Partial cancel- No
  • Partial refund - yes
  • Partial cancel- No
Up to 180 days
  • Minimum transaction amount: 0.02 EUR
  • Maximum transaction amount:
    • 1.500 EUR on mobile app
    • 5.000 EUR by bank
  • Maximum amount for a single refund: 3.000 EUR

Get Started

Get started using our API Reference and set your headers.


Request

POST https://try.access.worldpay.com/apmPayments

Example requests

Response
application/json
{ "paymentId": "HZ75WBkfRwmD9YzLSZFnQ--xazN30hqhileEoUF53VKlDSUrxrcX5x_wn93uYUZB26bWaGtSc4n1mbKHCn5p1tAsrh_YcN6kEXom71Xl4C2K6uz6RKmSmP_m7-TgEHezOhzH5eLvBJHPh6ir8ugqJqGjb7dlrQPJ4byuGHVAMZ8", "lastEvent": "pending", "_links": { "self": { "href": "https://try.access.worldpay.com/apmPayments/HZ75WBkfRwmD9YzLSZFnQ--xazN30hqhileEoUF53VKlDSUrxrcX5x_wn93uYUZB26bWaGtSc4n1mbKHCn5p1tAsrh_YcN6kEXom71Xl4C2K6uz6RKmSmP_m7-TgEHezOhzH5eLvBJHPh6ir8ugqJqGjb7dlrQPJ4byuGHVAMZ8" } }, "_actions": {}, "redirect": "https://mock.hpp.worldpay.com/app/hpp/xyz/integration/wpg?Ticket=12345678&OrderKey=blah", "paymentInstrument": { "method": "paypal", "type": "redirect" }, "commandId": "cmdEy5vwB0krLe9eMwAcE66c0" }

Parameters

transactionReferencestring[ 1 .. 64 ] characters^[a-zA-Z0-9\-_/!@#$%()*=.:;?\[\]{}~+]*$required
merchantobject(MerchantV2)required
merchant.​entitystring[ 3 .. 32 ] characters^([a-zA-Z0-9\- ]*)$required

Used to route the request in Access Worldpay, created as part of on-boarding.

Example: "default"
instructionobject(InstructionV2)required

Object that contains the payment type and details.

instruction.​methodstringrequired

Type of payment method

Value"paypal"
Discriminator
instruction.​valueobject(Value)required

The value of the payment.

instruction.​value.​amountinteger(int64)[ 1 .. 2147483647 ]required

The amount in the lowest denomination of the currency e.g. pennies for GBP, cents for USD.

Example: 12
instruction.​value.​currencystringrequired
Enum"AED""AFN""ANG""AOA""ARS""AUD""AWG""AZN""BAM""BBD"
instruction.​narrativeobject(NarrativeBase)required
instruction.​narrative.​line1string[ 1 .. 24 ] characters^[a-zA-Z0-9-., ]*$required

The description shown on your customer's bank statement for the payment.

Example: "MindPalace"
instruction.​paymentInstrumentobject(PayPalInstrumentV2)required
instruction.​paymentInstrument.​typestringrequired

Type of instruction

Value"direct"
instruction.​paymentInstrument.​billingAddressobject(PayPalBillingAddressV2)
instruction.​settlementobject(Settlement)

Indicates whether the transaction should be sent for settlement now = true, or later = false at a time of your choosing.

instruction.​resultUrlsobject(ResultUrls)
instruction.​shippingobject(Shipping)

The shipping address is required for recurring payments.

instruction.​customerobject(Customer)

Response

Successful request response

  • an HTTP code 201
  • a paymentId which is unique to the payment - we recommend storing the "id", as you can use it to manage the payment later
  • a url to redirect your customer to the APM provider to complete the payment
  • a link to query the payment status
  • an object which will give flow information such as method (e.g. bancontact) and type (direct)
  • a commandId generated by us identifying a single merchant interaction (e.g. cmdYNdIHBPJwbkjLiykzTx0)

Example Response

{
    "paymentInstrument": {
        "method": "bancontact",
        "type": "direct"
    },
    "paymentId": "eyJrIjoiYXBtLXNlcnZpY2UtbG9jYWwiLCJsaW5rVmVyc2lvbiI6IjYuMC4wIn0=.BnnxxcMle38OazhwbF8J+4rtJi8CAq:Y3zUOn1dw6VWfvx:PHL5L0S+5ara5vz6ouV5yBmVUQCiSwQjs+1x5qJIJxAKWMWc2Mlb1doricEYlzsZIRIGCflvnYu1Ns8g1S0+66n6wCELiB9OHfX7cdDZM8QaH19DiFbmMAchPSTy3YhKhjHb7eU81eSTnCsB+em66NOYspir3PJsMwGsI7DgQG6H8RA6ud004Gi7UbmmWuCYako2x2qLNAoCkV0HeDe9tVGUUJ8RPRm2jMHH20eHV:lzKfpwhCpCj20XtN:CPsSI2e:sopgZlkbmyvzDIeWSIThE3J1pPGsapqefRFo:b1Rfx8XquR8u:dBYr5a70wYkewsxOvrYXmLip3Fvy7rdfTE9SB:F5xmui5ij57ItzoUGQqmhdlJEFtZOvawnk19rQ8+2IHhZzeukzTZ41bET6DfydrjX20ywVxbq2Jw==",
    "lastEvent": "pending",
    "_links": {
        "self": {
            "href": "http://localhost:8080/apmPayments/eyJrIjoiYXBtLXNlcnZpY2UtbG9jYWwiLCJsaW5rVmVyc2lvbiI6IjYuMC4wIn0=.BnnxxcMle38OazhwbF8J+4rtJi8CAq:Y3zUOn1dw6VWfvx:PHL5L0S+5ara5vz6ouV5yBmVUQCiSwQjs+1x5qJIJxAKWMWc2Mlb1doricEYlzsZIRIGCflvnYu1Ns8g1S0+66n6wCELiB9OHfX7cdDZM8QaH19DiFbmMAchPSTy3YhKhjHb7eU81eSTnCsB+em66NOYspir3PJsMwGsI7DgQG6H8RA6ud004Gi7UbmmWuCYako2x2qLNAoCkV0HeDe9tVGUUJ8RPRm2jMHH20eHV:lzKfpwhCpCj20XtN:CPsSI2e:sopgZlkbmyvzDIeWSIThE3J1pPGsapqefRFo:b1Rfx8XquR8u:dBYr5a70wYkewsxOvrYXmLip3Fvy7rdfTE9SB:F5xmui5ij57ItzoUGQqmhdlJEFtZOvawnk19rQ8+2IHhZzeukzTZ41bET6DfydrjX20ywVxbq2Jw=="
        }
    },
    "_actions": {},
    "redirect": "http://merchant.fte66.test.worldpay.com:6061/redirect?tokenId=dc9c308b-d56b-4823-968e-0f94b20d6b73",
    "commandId": "cmdOl8x_MaK4TxcF3exdl5cL0"
}

Errors

Check out our API reference for the full error code schema.

Manage your Bancontact payment