Last updated: 17 September 2026 | Change log
A secure online payment transfer.
Make yourself familiar with our API principles to ensure a resilient integration.
Product overview
| Payment type | Recurring | Reversals | Partial reversals |
|---|---|---|---|
| Bank transfer | ❌ |
|
|
| Currency | Currency codes |
|---|---|
| Bulgarian Leva | BGN |
| Czech Koruna | CZK |
| Danish Krone | DKK |
| Euro | EUR |
| Polish zloty | PLN |
| Pound Sterling | GBP |
| Norwegian Krone | NOK |
| Romanian Leu | RON |
| Swedish Krona | SEK |
- Minimum transaction value: 1.00 for each currency
- Maximum transaction value: 10,000 EUR or currency equivalent
Please speak to your Implementation Manager before you integrate Trustly.
Use our API reference and set your headers.
POST https://try.access.worldpay.com/apmPayments
Apply APM payment details directly using our APMs API, or use our Components SDK to create a session.
Collect the APM details and send an API request with these details to create a payment.
- Tryhttps://try.access.worldpay.com/apmPayments
- Livehttps://access.worldpay.com/apmPayments
{ "transactionReference": "Memory265-13/08/1876", "orderReference": "apm-order-12345", "merchant": { "entity": "default" }, "instruction": { "method": "ach", "narrative": { "line1": "MindPalace" }, "value": { "amount": 750, "currency": "USD" }, "paymentInstrument": { "type": "direct", "accountType": "checking", "accountNumber": "01234567890123456", "routingNumber": "012345678", "checkNumber": "012345678901234", "companyName": "Worldpay", "billingAddress": { "address1": "8500 Governors Hill Drive", "address2": "Symmes Township", "postalCode": "45249", "city": "Ohio", "state": "US-OH", "countryCode": "US" } }, "customer": { "firstName": "John", "lastName": "Johnson", "customerId": "43424", "email": "john@example.com" } } }
For Bizum transactions, please follow this extra regex [a-zA-Z0-9]{4,12}
A reference that you can apply to one or more payments according to your business needs. You may reuse the same reference across multiple payments, for example where:
- the total amount for a single order is split across multiple payments
- you use a single reference for each payment in a recurring agreement or split shipment scenario
{
"paymentInstrument": {
"method": "trustly",
"type": "direct"
},
"paymentId": "eyJrIjoiYXBtLXNlcnZpY2UtZGVmYXVsdCIsImxpbmtWZXJzaW9uIjoiNi4wLjAifQ==.BnnxxcMle38OazhwbF8J+4rtJi8CAq:Y3zUOn1dw6VWfvx:PHL5L0S+5ara5vz6ouV5yBmVUQCiSwQjs+1x5qJIJxAKWMWc2Mlb1doricEYlzsZIRIGCflvnYu1Ns8g1S0+66n6wCELiB9OHfX7cdDZM8QaH19DiFbmMAchPSTyHNCTMvOMr7z:d61dLntVSAaFT9PiiV:KsP+z2Cdr9o:XFrnd4GNEHV7yDuZt9Jyqf5XZUPFYfD4fs2JzaCZKV3L7DQm7JfXl6rjXA0ubX6hJpY5kUX4Djm9+PFFKUS69VdPTc30HsveUM9XjnvE4YIx9jkBR3rQ+pDZRw+HYcrhKM2Ks:rlczHJ2DGe1:xPRqjBWEQYSfjhGO0ig5hWkD70cWvOUr9oNei3iC:3d01MiKXp01ZX4AeiXlWYKZF5hbcrjMRprcUptpLfoEB8QBFXfS8l+w00uMOJ3COd2qPA==",
"lastEvent": "pending",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/apmPayments/eyJrIjoiYXBtLXNlcnZpY2UtZGVmYXVsdCIsImxpbmtWZXJzaW9uIjoiNi4wLjAifQ==.BnnxxcMle38OazhwbF8J+4rtJi8CAq:Y3zUOn1dw6VWfvx:PHL5L0S+5ara5vz6ouV5yBmVUQCiSwQjs+1x5qJIJxAKWMWc2Mlb1doricEYlzsZIRIGCflvnYu1Ns8g1S0+66n6wCELiB9OHfX7cdDZM8QaH19DiFbmMAchPSTyHNCTMvOMr7z:d61dLntVSAaFT9PiiV:KsP+z2Cdr9o:XFrnd4GNEHV7yDuZt9Jyqf5XZUPFYfD4fs2JzaCZKV3L7DQm7JfXl6rjXA0ubX6hJpY5kUX4Djm9+PFFKUS69VdPTc30HsveUM9XjnvE4YIx9jkBR3rQ+pDZRw+HYcrhKM2Ks:rlczHJ2DGe1:xPRqjBWEQYSfjhGO0ig5hWkD70cWvOUr9oNei3iC:3d01MiKXp01ZX4AeiXlWYKZF5hbcrjMRprcUptpLfoEB8QBFXfS8l+w00uMOJ3COd2qPA=="
}
},
"_actions": {},
"redirect": "http://secure-test.worldpay.com/redirect?tokenId=f1ff338b-a0d7-4a17-b64f-31b2b994391c",
"commandId": "cmdKZ4gnUp1aNkfNi7Kmwi1N0"
}The identifier of the payment resource.
Links to resources related to the request.
The URL to redirect your customer to, or a QR code in Base64 to show to your customer, in order to complete the transaction.
An action ID generated by us, identifying a single merchant interaction.
Payment instrument for: ACH, Alipay China, Alipay Hong Kong, Alipay Plus, BANCOMAT Pay, Bancontact, Bizum, BLIK, EFT, Euteller, iDEAL guest, iDEAL recurring, Klarna, Klarna (recurring), Konbini, Multibanco, MyBank, Open Banking, PaysafeCard, Pix, Przelewy24, SafetyPay, Satispay, Swish, Trustly, China UnionPay, WeChat Pay.
For Pix payments - display to your customer for them to copy and paste in the Pix app.
For Swish payments - use this value as the {token} in the custom URL scheme: swish://paymentrequest?token={token}&callbackurl={callbackURL}. This will prompt the app to open, allowing your customer to complete their payment.
Check out our API reference for more responses or error codes.
To simulate payment outcomes and trigger webhooks in our Try environment you can send a request prompting our simulator.
You receive a redirect link to our simulator where you can choose different payment outcomes:
| Simulator outcome option | Payment status | Description |
|---|---|---|
| Pending | pending | Pending payment response. |
| Authorised | authorized | Payment authorized successfully. |
| N/A | sentForSettlement | Authorization and capture status will automatically be updated within 15 minutes of authorization. |
To test a reversal, a payment must have the status sentForSettlement. Once you send the reversal request, the status changes to sentForRefund.
Next steps