Last Updated: 19 February 2025 | Change Log
MyBank
MyBank is a real-time bank transfer with more than 200 participating Italian banks.
Make yourself familiar with our API Principles to ensure a resilient integration.
Product Overview
Why use MyBank
Over 10% of Italy's online users prefer to make payments by bank transfer. Additionally MyBank offers the following benefits:
- Secure & fraud-resistant transactions - Payments are authenticated via your customers' banks, reducing fraud
- Fast & final transactions - real-time payments with no chargebacks
- Boosted conversions - Lower cart abandoment and use of their familiar online banking
Feature summary
Payment type | Countries | Aceptance Currencies | Recurring | Reversals | Partial Reversals | Authorisation timescale* |
---|---|---|---|---|---|---|
Bank Transfer | Italy | EUR | ❌ |
|
| 10 mins |
- Minimum amount for a single transaction value: 1,00 EUR
- Maximum amount for a single transaction value: 10.000 EUR
- The typical elapsed time between initiating the payment and the authorisation. Some payments might take longer depending on shopper behaviour and other factors
Set your headers
Setting your headers is an important part of an API request. The headers represent the meta-data associated with your API request.
Authorization: {your_credentials}
Content-Type: application/json
WP-Api-Version: 2023-06-01
Header | Description |
---|---|
Authorization | We use the Authorization header to identify and authenticate you within Access Worldpay. You must use the Authorization header for any request you send to our APM API, unless you are using client certificate authentication over TLS. If you must use this, read our reference guide on Authenticating with SSL/TLS. |
Content-Type | We require the Content-Type header if the request you're sending includes a request body, and if the HTTP method is a POST or a PUT . |
WP-Api-Version | We use the WP-Api-Version header to identify which version of our APM API you are using. You must use the WP-Api-Version header for any request you send to our API. |
If you're using both the Content-Type
and WP-Api-Version
headers, they must match.
Replace {your_credentials}
with your base64-encoded Basic Auth username and password. To get your Access Worldpay credentials contact your Implementation Manager.
Take a payment
POST
https://try.access.worldpay.com/apmPayments
Example request
{
"transactionReference": "Memory265-13/08/1876",
"merchant":
{
"entity": "default"
},
"instruction":
{
"narrative":
{
"line1": "Mind Palace Ltd"
},
"value":
{
"amount": 1000,
"currency": "EUR"
},
"paymentInstrument":
{
"type": "mybank",
"country": "IT",
"shopperEmailAddress": "example@gmail.com",
"shippingAddress":
{
"firstName": "xxx",
"lastName": "yyy",
"address1": "The Palatine Centre",
"address2": "foo",
"address3": "bar",
"postalCode": "DH1 3LE",
"city": "Durham",
"state": "County Durham",
"countryCode": "GB"
},
"successURL": "http://httpbin.org/anything/success",
"pendingURL": "http://httpbin.org/anything/pending",
"cancelURL": "http://httpbin.org/anything/cancel"
}
}
}
Parameters
Parameter | Required? | Description | Data type | Length |
---|---|---|---|---|
merchant | ✅ | An object that contains information about the merchant. | Object | N/A |
merchant.entity | ✅ | Direct your payment to assist with billing, reporting and reconciliation. This is mandatory for Authentication and Queries. Contact your Implementation Manager for more details. | String | Must be between 1 and 32 characters. |
transactionReference | ✅ | A unique reference generated by you that is used to identify a payment throughout its lifecycle. See transaction reference format. | String | Must be between 1 to 64 characters. |
instruction | ✅ | An object that contains all the information related to the payment. | Object | N/A |
instruction.narrative | ✅ | An object that helps your customers better identify you on their statement. | Object | See our formatting rules |
instruction.narrative.line1 | ✅ | The first line of the narrative which appears on your customer's statement (If a character is not supported it is replaced with a space.). See narrative line1 format for more details. Note Spaces are not suppported for Open Banking. | Object | 24 |
instruction.value | ✅ | An object that contains information about the payment transaction. | Object | N/A |
instruction.value.amount | ✅ | The payment amount. This is a whole number with an exponent e.g. if exponent is two, 250 is 2,50. You can find the relevant exponent in our currency table. | Integer | N/A |
instruction.value.currency | ✅ | The payment currency. Refer to the individual APM page for supported currencies. | Integer | 3 |
instruction.paymentInstrument | ✅ | An object that contains information about the payment method. | Object | N/A |
instruction.paymentInstrument.type | ✅ | An object that contains the payment type and details. It defines which alternative payment method you wish to use. The value is mybank . | Object | N/A |
paymentInstrument.shopperEmailAddress | ✅ | The email adddress of your customer. | String | N/A |
paymentInstrument.shippingAddress | ✅ | The shipping address of your customer. | Object | N/A |
paymentInstrument.shippingAddress.address1 | Conditional | First line of the shipping address. Condition: Must be provided if you send paymentInstrument.shippingAddress . | String | 1-85 |
paymentInstrument.shippingAddress.address2 | ❌ | Second line of the shipping address. | String | 0-85 |
paymentInstrument.shippingAddress.address3 | ❌ | Third line of the shipping address. | String | 0-85 |
paymentInstrument.shippingAddress.city | Conditional | The city of the shipping address. | String | 0-50 |
paymentInstrument.shippingAddress.countryCode | Conditional | The country of the shipping address. Condition: Must be provided if you send paymentInstrument.shipppingAddress . Follows alpha 2 ISO 3166-1 standard. | String | 2 |
paymentInstrument.shippingddress.postalCode | Conditional | The poste code of the shipping address. Condition: Must be provided if you send paymentInstrument.shippingAddress . | String | 1-15 |
paymentInstrument.shippingAddress.state | Conditional | The state of the shipping address. | String | 1-50 |
instruction.paymentInstrument.cancelURL | ✅ | When your customer cancels a transaction, we redirect your customer to that cancel URL. | String | N/A |
instruction.paymentInstrument.pendingURL | ✅ | When we receive the payment result for a pending payment transaction, we redirect your customer to that pending URL. | String | N/A |
instruction.paymentInstrument.successURL | ✅ | When we receive the payment result for a successful payment, we redirect your customer to that success URL. | String | N/A |
Response
Successful request response
- an HTTP code
201
- an
id
which is unique to the payment - we recommend storing the "id" as this can be used 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
Example Response
{
"paymentId": "nFxASqw-LV9HE_rr1mMONJmqBDeXmnv5dzt9IxAXgXbfpu0O_8mOnTpFSIM9gnTSygCKQgvlwQdUbu5rExIpJA_5Uq2LEGXXAanycRpxfDPNA-E70zIWdnaMb2gJhC8AIhbOkM6xDiVNu90YCXo2snTzi_k1sEOQnKIAJNTW3Qc",
"lastEvent": "pending",
"_links": {
"self": {
"href": "https://access.worldpay.com/apmPayments/nFxASqw-LV9HE_rr1mMONJmqBDeXmnv5dzt9IxAXgXbfpu0O_8mOnTpFSIM9gnTSygCKQgvlwQdUbu5rExIpJA_5Uq2LEGXXAanycRpxfDPNA-E70zIWdnaMb2gJhC8AIhbOkM6xDiVNu90YCXo2snTzi_k1sEOQnKIAJNTW3Qc"
}
},
"_actions": {},
"url": "https://payments.worldpay.com/app/hpp/integration/wpg/corporate?OrderKey="
}
In case of an error, you can get further information in our error reference.
Next Steps