APM (Alternative Paymet Methods)
Alternative Payment Methods (APM)
1. Overview
iDEAL & Bancontact Pay-Ins
Lemonway now offers Alternative Payment Methods (APMs), enabling you to accept iDEAL (Netherlands) and Bancontact (Belgium) using a seamless redirect-based payment flow.
These APMs operate using Lemonway’s existing REST API (webkit). Your platform only needs to call the /apm/init API and redirect the user.
Local payment methods — capabilities
Pay-in, refunds, and chargeback support by region.
| Payment Method | Region | Pay-in | Refunds | Chargebacks |
|---|---|---|---|---|
| iDEAL | Netherlands (NL) | Yes | Partial & multiple | No |
| Bancontact | Belgium (BE) | Yes | Partial & multiple | No |
RefundsAPM refunds behave identically to card refunds, via the
/refund/{transactionId}endpoint.
2. Ideal Payment Flow 🇳🇱
Below is the standard flow for iDEAL, note no token is required during this payment flow.

Redirection to iDEAL for Payment

Select the bank page to process the payment
3. Bancontact flow 🇧🇪
The payor is redirected to the Bancontact payment page, where they can complete the payment either:
- By using their Bancontact card and entering the card number, expiry date, and CVV
- By using the Bancontact/Payconiq app by scanning the displayed QR code
4. Initiate an APM Payment
POST /apm/init
/apm/initFor a complete list of parameters and additional information, see here:
3.1 Example Request
{
"transaction": {
"Reference": "ref-12345",
"AccountId": "MKP",
"totalAmount": 15000,
"PaymentMethod": "ideal",
"commissionAmount": 1000,
"comment": "Online purchase",
"autoCommission": false
},
"paymentUrls": {
"redirections": {
"returnUrl": "https://merchant.com/payment/success",
"errorUrl": "https://merchant.com/payment/error",
"cancelUrl": "https://merchant.com/payment/cancel"
}
},
"customer": {
"firstName": "Pierre",
"lastName": "Dupont",
"countryCode": "NL",
"email": "[email protected]",
"mobilePhone": "+3365666886",
"birthDate": "1985-05-15"
}
}3.2 Required Rules
Payment method
| Method | Required countryCode |
|---|---|
"ideal" | "NL" 🇳🇱 only |
"bancontact" | "BE" 🇧🇪 only |
ImportantAny countryCode mismatch triggers an API error.
3.3 Required fields
| Field | Required |
|---|---|
firstName | ✅ |
lastName | ✅ |
countryCode | ✅ |
others (email, mobilePhone, birthDate, civility, gender) | Optional |
3.4 Example Response
{
"id": 362529,
"redirectUrl": "https://webkit.lemonway.com/.../apm/form/{token}"
}
InformationYour platfom should use the
redirectUrlexactly as provided. There is no token exchange step.
4. Refund API
POST /refund/{transactionId}
/refund/{transactionId}iDEAL and Bancontact Pay-ins support:
- ✔ Multiple refunds
- ✔ Partial refunds
- ✔ Full refunds
InformationAPM refunds behave identically to card refunds, via the
/refund/{transactionId}endpoint.
6. FAQ
1. Can I use other payment methods offered ?
Yes, our architecture supports adding more APMs, but availability depends on Lemonway’s roadmap.
2. How do I test iDEAL or Bancontact?
Request a sandbox APM activation from Lemonway. Your technical integration will remain the same in sandbox and production.
3. When does the user return to my website?
After the APM result is known, Lemonway redirects the user to:
returnUrl→ payment succeededcancelUrl→ user cancellederrorUrl→ payment failed/refused
4. Why must countryCode be NL or BE?
countryCode be NL or BE?Because the underlying schemes require it:
- iDEAL is restricted to Dutch customers
- Bancontact is restricted to Belgian customers
Any other value causes the API to reject the request
5. Are chargebacks possible?
No. Both payment methods do not support chargebacks
Refunds must be issued manually via /refund/{transactionId}.
6. Can I perform partial or multiple refunds?
Yes — both APMs support:
- Partial refunds
- Multiple refund operations per transaction
7. What happens if the payor abandons the payment?
If the API returns a timeout, Lemonway finalizes the transaction as Cancelled
8. How do I know the final status?
Use any combination of:
- Your notification endpoint
- Lemonway GET /v2/moneyins or in your Dashboard for payment statuses
- The user redirect path (
returnUrl/cancelUrl/errorUrl)
Updated 2 days ago
