On this page:
- Introduction
- Supported Countries
- Supported Currencies
- Payment (Deposit) Flow
- Payout (Withdrawal) Flow
- User Experience
- Payment
- Withdrawal
- Testing
Attributes
- METHOD TYPEReal-Time Bank Transfer
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Pay with Bank Transfer is an Open Banking-enabled payment method that allows customers of participating banks in the UK to make payments to merchants incorporated in the UK and in the EU.
- United Kingdom
- EU-incorporated merchants
- GBP
Press tab to open…
- REST API
- Web SDK
Follow these steps to perform a payment using Nuvei REST API integration:
1. Generate a sessionToken
Press here for details.
2. Send a /payment
Request
Perform the payment by sending a /paymentrequest with its mandatory parameters including:
userTokenId
amount
currency
paymentOption.alternativePaymentMethod
block containing:paymentMethod
: “apmgw_PayWithBankTransfer“
deviceDetails
block containing:ipAddress
billingAddress
block containing:firstName
,lastName
,country
,email
– country must be “GB“userDetails
block containing:firstName
,lastName
,country
,email
– country must be “GB“
If the merchant is an ecommerce goods business, the /payment
request must include the shippingAddress
block with its mandatory parameters.
Example/payment
Request
{ "sessionToken": "<sessionToken from /getSessionToken>", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "clientRequestId": "<unique request ID in merchant system>", "amount": "200", "currency": "GBP", "userTokenId": "<unique customer identifier in merchant system>", "clientUniqueId": "<unique transaction ID in merchant system>", "paymentOption": { "alternativePaymentMethod": { "paymentMethod": "apmgw_PayWithBankTransfer" } }, "deviceDetails": { "ipAddress": "<customer's IP address>" }, "billingAddress": { "firstName": "John", "lastName": "Smith", "country": "GB", "email": "john.smith@email.com" }, "userDetails": { "firstName": "John", "lastName": "Smith", "country": "GB", "email": "john.smith@email.com" }, "timeStamp": "<YYYYMMDDHHmmss>", "checksum": "<calculated checksum>"}
The response generates and returns a redirect URL (redirectUrl
) to redirect the customer to the payment page, as well as a UPO (userPaymentOptionId
) for use in future transactions.
Example/payment
Response
{ "internalRequestId": 34652001, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "5634436935940029474", "merchantSiteId": "242181", "version": "1.0", "sessionToken": "fff50e0c-d9b0-4831-b221-4be0b1b072d0", "orderId": "41391841", "userTokenId": "DanielREST_20231102160637", "paymentOption": { "redirectUrl": "https://paywithbank-qa.americanexpress.com/payments/v1/link?ipwbt=eyJraWQiOiJpZF9TN1ZWeUhOMSIsImFsZyI6IkhTMjU2In0.eyJhdWQiOiJhbWV4X3Rlc3RfNWUzMTk3ZDg3ZDQzNGJiMGIyNWI5M2Y4MmYwZjU2N2MiLCJuYmYiOjE2OTg5MzQwMDEsImFkZGl0aW9uYWxfaW5mbyI6eyJjb3VudHJ5X2NvZGUiOiJHQiIsInRyYWNraW5nX2lkIjoiOTVjYmViMWIyYzA5NDRiYTkxNGZkMWUzYzA3M2Q1MzQiLCJzdWJfbWVyY2hhbnRfaWQiOiJhbWV4X3Rlc3RfNWUzMTk3ZDg3ZDQzNGJiMGIyNWI5M2Y4MmYwZjU2N2MifSwiaXNzIjoiQU1FWCIsImV4cCI6MTY5ODkzNDYwMSwiaWF0IjoxNjk4OTM0MDAxLCJqdGkiOiI1NjY5ZjY4YTJkYjk0NTdlYjhmYzYwZDNkOWU5MjIwNCJ9.P3Wf2Mx4whV-HyDhL4Hf0V0Z5uCtsvnpvlHjdQWOWC4", "userPaymentOptionId": "2153072181", "card": {} }, "transactionStatus": "REDIRECT"}
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to urlDetails.notificationUrl
, which Nuvei recommends including in the /payment
request.
Follow these steps to perform a payment using Nuvei Web SDK integration.
1. Initiate a Session
Before you can submit payment using the client-side Nuvei Web SDK, you need to send the/openOrderAPI call.
2. Initialize the Web SDK
Instantiate the Web SDK with the sessionToken
received from the server call to /openOrder.
3.Create an APM Payment
Send a createPayment() request with its mandatory parameters including:
paymentOption.alternativePaymentMethod
block containing:paymentMethod
: “apmgw_PayWithBankTransfer“
deviceDetails
block containing:ipAddress
billingAddress
block containing:firstName
,lastName
,email
,country
–country
must be “GB“userDetails
block containing:firstName
,lastName
,email
,country
–country
must be “GB“
If the merchant is an ecommerce goods business, the createPayment()
request must include the shippingAddress
block with its mandatory parameters.
Example createPayment()
Request
sfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_PayWithBankTransfer" } }, deviceDetails:{ ipAddress:"<customer's IP address>" }, billingAddress: { firstName: "John", lastName: "Smith", country: "GB", email: "john.smith@email.com" }, userDetails: { firstName: "John", lastName: "Smith", country: "GB", email: "john.smith@email.com" },}, function (res) { console.log(res);});
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to the URL provided in urlDetails.notificationUrl
, which Nuvei recommends including in the /openOrder
request.
- REST API
-
Follow these steps to perform a payment using Nuvei REST API integration:
1. Generate a
sessionToken
Press here for details.
2. Send a
/payment
RequestPerform the payment by sending a /paymentrequest with its mandatory parameters including:
userTokenId
amount
currency
paymentOption.alternativePaymentMethod
block containing:paymentMethod
: “apmgw_PayWithBankTransfer“
deviceDetails
block containing:ipAddress
billingAddress
block containing:firstName
,lastName
,country
,email
– country must be “GB“userDetails
block containing:firstName
,lastName
,country
,email
– country must be “GB“
If the merchant is an ecommerce goods business, the
/payment
request must include theshippingAddress
block with its mandatory parameters.Example
/payment
Request{ "sessionToken": "<sessionToken from /getSessionToken>", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "clientRequestId": "<unique request ID in merchant system>", "amount": "200", "currency": "GBP", "userTokenId": "<unique customer identifier in merchant system>", "clientUniqueId": "<unique transaction ID in merchant system>", "paymentOption": { "alternativePaymentMethod": { "paymentMethod": "apmgw_PayWithBankTransfer" } }, "deviceDetails": { "ipAddress": "<customer's IP address>" }, "billingAddress": { "firstName": "John", "lastName": "Smith", "country": "GB", "email": "john.smith@email.com" }, "userDetails": { "firstName": "John", "lastName": "Smith", "country": "GB", "email": "john.smith@email.com" }, "timeStamp": "<YYYYMMDDHHmmss>", "checksum": "<calculated checksum>"}
The response generates and returns a redirect URL (
redirectUrl
) to redirect the customer to the payment page, as well as a UPO (userPaymentOptionId
) for use in future transactions.Example
/payment
Response{ "internalRequestId": 34652001, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "5634436935940029474", "merchantSiteId": "242181", "version": "1.0", "sessionToken": "fff50e0c-d9b0-4831-b221-4be0b1b072d0", "orderId": "41391841", "userTokenId": "DanielREST_20231102160637", "paymentOption": { "redirectUrl": "https://paywithbank-qa.americanexpress.com/payments/v1/link?ipwbt=eyJraWQiOiJpZF9TN1ZWeUhOMSIsImFsZyI6IkhTMjU2In0.eyJhdWQiOiJhbWV4X3Rlc3RfNWUzMTk3ZDg3ZDQzNGJiMGIyNWI5M2Y4MmYwZjU2N2MiLCJuYmYiOjE2OTg5MzQwMDEsImFkZGl0aW9uYWxfaW5mbyI6eyJjb3VudHJ5X2NvZGUiOiJHQiIsInRyYWNraW5nX2lkIjoiOTVjYmViMWIyYzA5NDRiYTkxNGZkMWUzYzA3M2Q1MzQiLCJzdWJfbWVyY2hhbnRfaWQiOiJhbWV4X3Rlc3RfNWUzMTk3ZDg3ZDQzNGJiMGIyNWI5M2Y4MmYwZjU2N2MifSwiaXNzIjoiQU1FWCIsImV4cCI6MTY5ODkzNDYwMSwiaWF0IjoxNjk4OTM0MDAxLCJqdGkiOiI1NjY5ZjY4YTJkYjk0NTdlYjhmYzYwZDNkOWU5MjIwNCJ9.P3Wf2Mx4whV-HyDhL4Hf0V0Z5uCtsvnpvlHjdQWOWC4", "userPaymentOptionId": "2153072181", "card": {} }, "transactionStatus": "REDIRECT"}
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to
urlDetails.notificationUrl
, which Nuvei recommends including in the/payment
request. - Web SDK
-
Follow these steps to perform a payment using Nuvei Web SDK integration.
1. Initiate a Session
Before you can submit payment using the client-side Nuvei Web SDK, you need to send the/openOrderAPI call.
2. Initialize the Web SDK
Instantiate the Web SDK with the
sessionToken
received from the server call to /openOrder.3.Create an APM Payment
Send a createPayment() request with its mandatory parameters including:
paymentOption.alternativePaymentMethod
block containing:paymentMethod
: “apmgw_PayWithBankTransfer“
deviceDetails
block containing:ipAddress
billingAddress
block containing:firstName
,lastName
,email
,country
–country
must be “GB“userDetails
block containing:firstName
,lastName
,email
,country
–country
must be “GB“
If the merchant is an ecommerce goods business, the
createPayment()
request must include theshippingAddress
block with its mandatory parameters.Example
createPayment()
Requestsfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_PayWithBankTransfer" } }, deviceDetails:{ ipAddress:"<customer's IP address>" }, billingAddress: { firstName: "John", lastName: "Smith", country: "GB", email: "john.smith@email.com" }, userDetails: { firstName: "John", lastName: "Smith", country: "GB", email: "john.smith@email.com" },}, function (res) { console.log(res);});
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to the URL provided in
urlDetails.notificationUrl
, which Nuvei recommends including in the/openOrder
request.
Example Payment DMN with Status
=APPROVED
...'ppp_status=OK&Status=APPROVED&ExErrCode=0&ErrCode=0&errApmCode=0&errApmDescription=&errScCode=0&errScDescription=&Reason=&ReasonCode=0&PPP_TransactionID=41386381&userid=ScMigrationTest3&merchant_unique_id=97c10831-d399-48d7-8ea5-41f89619d2fa6&customData=anca.gheorghitanu&productId=test_name_1&first_name=John&last_name=Doe&email=ivanp%40abv.bg¤cy=GBP&customField1=meccabingo.com&customField2=a2db82db-8186-44bb-a6d9-cb9f8f7ea25e&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=rnk_pr01&invoice_id=&address1=Test+Address&address2=&country=United+Kingdom&state=&city=Ontario&zip=M6T+1J1&phone1=%2B14161238888&phone2=&phone3=&client_ip=127.0.0.1&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=PayWithBankTransfer-PI&expMonth=&expYear=&Token=&tokenId=&AuthCode=&AvsCode=&Cvv2Reply=&shippingCountry=GB&shippingState=&shippingCity=Ontario&shippingAddress=Test+Address&shippingZip=M6T+1J1&shippingFirstName=John&shippingLastName=Doe&shippingPhone=%2B14161238888&shippingCell=%2B14161238888&shippingMail=ivanp%40abv.bg&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=242181&merchant_status=&action=&requestVersion=&message=APPROVED&merchantLocale=en_US&unknownParameters=&payment_method=apmgw_PayWithBankTransfer&ID=&merchant_id=5634436935940029474&responseTimeStamp=2023-11-01.13%3A53%3A10&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=danieltest_5&user_token=auto&userPaymentOptionId=2153070691&TransactionID=2110000000011442655&externalTransactionId=7f632f3c7c1f4c3186cbd0eaa2489b40&APMReferenceID=9ADD2E6BD26BB9728E4CB5E104958252&orderTransactionId=22930921&totalAmount=13.00&dynamicDescriptor=static+test&item_name_1=test_name_1&item_number_1=&item_amount_1=13.00&item_quantity_1=1&item_discount_1=0.00&item_handling_1=0.00&item_shipping_1=0.00&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&externalToken_blockedCard=&externalToken_cardAcquirerId=&externalToken_cardAcquirerName=&externalToken_cardBin=&externalToken_cardBrandId=&externalToken_cardBrandName=&externalToken_cardExpiration=&externalToken_cardLength=&externalToken_cardMask=&externalToken_cardName=&externalToken_cardTypeId=&externalToken_cardTypeName=&externalToken_clubName=&externalToken_creditCompanyId=&externalToken_creditCompanyName=&externalToken_extendedCardType=&externalToken_Indication=&externalToken_tokenValue=&externalToken_tokenProvider=&ECIRaw=&cryptogram=&upoRegistrationDate=20231101&type=DEPOSIT&clientRequestId=&relatedTransactionId=&sessionId=b282a73e7a3fee49df5f326c2392&responsechecksum=129b2a2e90b804142f54b7b86f2651bb&advanceResponseChecksum=e911789f9ac8478779df41dec6eff089',
Example Payment DMN with Status
=UPDATE
...'ppp_status=OK&Status=UPDATE&ExErrCode=0&ErrCode=0&errApmCode=0&errApmDescription=&errScCode=0&errScDescription=&Reason=&ReasonCode=0&PPP_TransactionID=41392971&userid=DanielREST_20231102171527&merchant_unique_id=&customData=&productId=&first_name=John&last_name=Doe&email=ivanp%40abv.bg¤cy=GBP&customField1=&customField2=&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=65%2C+Overlea+str&address2=&country=United+Kingdom&state=&city=test+shipping&zip=K0A+0A2&phone1=&phone2=&phone3=&client_ip=&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=PayWithBankTransfer-PI&expMonth=&expYear=&Token=&tokenId=&AuthCode=&AvsCode=&Cvv2Reply=&shippingCountry=GB&shippingState=&shippingCity=test+city&shippingAddress=&shippingZip=&shippingFirstName=&shippingLastName=&shippingPhone=&shippingCell=&shippingMail=&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=242181&merchant_status=&action=&requestVersion=&message=UPDATE&merchantLocale=&unknownParameters=&payment_method=apmgw_PayWithBankTransfer&ID=&merchant_id=5634436935940029474&responseTimeStamp=2023-11-02.15%3A19%3A47&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=DanielREST_20231102171527&userPaymentOptionId=2153072351&TransactionID=2110000000011454480&externalTransactionId=a6a3afaa66d64e199dca8b5da47abcf1&APMReferenceID=8A76E3508DCE4D15DC0BA004B822D30E&orderTransactionId=22935701&totalAmount=76.00&dynamicDescriptor=static+test&item_name_1=NA&item_number_1=&item_amount_1=76.00&item_quantity_1=1&item_discount_1=0.00&item_handling_1=0.00&item_shipping_1=0.00&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&externalToken_blockedCard=&externalToken_cardAcquirerId=&externalToken_cardAcquirerName=&externalToken_cardBin=&externalToken_cardBrandId=&externalToken_cardBrandName=&externalToken_cardExpiration=&externalToken_cardLength=&externalToken_cardMask=&externalToken_cardName=&externalToken_cardTypeId=&externalToken_cardTypeName=&externalToken_clubName=&externalToken_creditCompanyId=&externalToken_creditCompanyName=&externalToken_extendedCardType=&externalToken_Indication=&externalToken_tokenValue=&externalToken_tokenProvider=&ECIRaw=&cryptogram=&upoRegistrationDate=20231102&type=DEPOSIT&clientRequestId=&relatedTransactionId=&sessionId=09a8265011e689f8d6b5e06c348e&responsechecksum=979e16501906bc75076d23f136681010&advanceResponseChecksum=b70b18b628a1e240fbfa7763d4d72069',
Example Payment DMN with Status
=PENDING
...'ppp_status=PENDING&Status=PENDING&ExErrCode=0&ErrCode=0&errApmCode=0&errApmDescription=&errScCode=0&errScDescription=&Reason=&ReasonCode=0&PPP_TransactionID=41387671&userid=ScMigrationTest3&merchant_unique_id=97c10831-d399-48d7-8ea5-41f89619d2fa6&customData=anca.gheorghitanu&productId=test_name_1&first_name=John&last_name=Doe&email=ivanp%40abv.bg¤cy=GBP&customField1=meccabingo.com&customField2=a2db82db-8186-44bb-a6d9-cb9f8f7ea25e&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=rnk_pr01&invoice_id=&address1=Test+Address&address2=&country=United+Kingdom&state=&city=Ontario&zip=M6T+1J1&phone1=%2B14161238888&phone2=&phone3=&client_ip=127.0.0.1&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=PayWithBankTransfer-PI&expMonth=&expYear=&Token=&tokenId=&AuthCode=&AvsCode=&Cvv2Reply=&shippingCountry=GB&shippingState=&shippingCity=Ontario&shippingAddress=Test+Address&shippingZip=M6T+1J1&shippingFirstName=John&shippingLastName=Doe&shippingPhone=%2B14161238888&shippingCell=%2B14161238888&shippingMail=ivanp%40abv.bg&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=242181&merchant_status=&action=&requestVersion=&message=PENDING&merchantLocale=en_US&unknownParameters=&payment_method=apmgw_PayWithBankTransfer&ID=&merchant_id=5634436935940029474&responseTimeStamp=2023-11-01.15%3A48%3A23&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=danieltest_7&user_token=auto&userPaymentOptionId=2153070991&TransactionID=2110000000011443185&externalTransactionId=8d72ed840b8449a9893fd29e716d153d&APMReferenceID=D0C43E418ABF4EF03E7CD71DBD9509E6&orderTransactionId=22931991&totalAmount=70.00&dynamicDescriptor=static+test&item_name_1=test_name_1&item_number_1=&item_amount_1=70.00&item_quantity_1=1&item_discount_1=0.00&item_handling_1=0.00&item_shipping_1=0.00&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&externalToken_blockedCard=&externalToken_cardAcquirerId=&externalToken_cardAcquirerName=&externalToken_cardBin=&externalToken_cardBrandId=&externalToken_cardBrandName=&externalToken_cardExpiration=&externalToken_cardLength=&externalToken_cardMask=&externalToken_cardName=&externalToken_cardTypeId=&externalToken_cardTypeName=&externalToken_clubName=&externalToken_creditCompanyId=&externalToken_creditCompanyName=&externalToken_extendedCardType=&externalToken_Indication=&externalToken_tokenValue=&externalToken_tokenProvider=&ECIRaw=&cryptogram=&upoRegistrationDate=20231101&type=DEPOSIT&clientRequestId=&relatedTransactionId=&sessionId=b7ebf09b725fe42b865823beb117&responsechecksum=493f3a24a94526e66e66a63b9d465273&advanceResponseChecksum=37b32423a57b96a890fad454f8dc493b',
Example Payment DMN with Status
=DECLINED
...'ppp_status=FAIL&Status=DECLINED&ExErrCode=0&ErrCode=1&errApmCode=1&errApmDescription=Payment+settlement+rejected+by+the+bank.&errScCode=10013&errScDescription=Declined&Reason=Declined&ReasonCode=10013&PPP_TransactionID=41387371&userid=ScMigrationTest3&merchant_unique_id=97c10831-d399-48d7-8ea5-41f89619d2fa6&customData=anca.gheorghitanu&productId=test_name_1&first_name=John&last_name=Doe&email=ivanp%40abv.bg¤cy=GBP&customField1=meccabingo.com&customField2=a2db82db-8186-44bb-a6d9-cb9f8f7ea25e&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=rnk_pr01&invoice_id=&address1=Test+Address&address2=&country=United+Kingdom&state=&city=Ontario&zip=M6T+1J1&phone1=%2B14161238888&phone2=&phone3=&client_ip=127.0.0.1&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=PayWithBankTransfer-PI&expMonth=&expYear=&Token=&tokenId=&AuthCode=&AvsCode=&Cvv2Reply=&shippingCountry=GB&shippingState=&shippingCity=Ontario&shippingAddress=Test+Address&shippingZip=M6T+1J1&shippingFirstName=John&shippingLastName=Doe&shippingPhone=%2B14161238888&shippingCell=%2B14161238888&shippingMail=ivanp%40abv.bg&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=242181&merchant_status=&action=&requestVersion=&message=DECLINED&merchantLocale=en_US&unknownParameters=&payment_method=apmgw_PayWithBankTransfer&ID=&merchant_id=5634436935940029474&responseTimeStamp=2023-11-01.15%3A27%3A47&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=danieltest_6&user_token=auto&userPaymentOptionId=2153070921&TransactionID=2110000000011443040&externalTransactionId=3604e6a4daff4581b582e693a79481ea&APMReferenceID=84576497C6E97E5AFA7E0D2903A23D82&orderTransactionId=22931661&totalAmount=40.00&dynamicDescriptor=static+test&item_name_1=test_name_1&item_number_1=&item_amount_1=40.00&item_quantity_1=1&item_discount_1=0.00&item_handling_1=0.00&item_shipping_1=0.00&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&externalToken_blockedCard=&externalToken_cardAcquirerId=&externalToken_cardAcquirerName=&externalToken_cardBin=&externalToken_cardBrandId=&externalToken_cardBrandName=&externalToken_cardExpiration=&externalToken_cardLength=&externalToken_cardMask=&externalToken_cardName=&externalToken_cardTypeId=&externalToken_cardTypeName=&externalToken_clubName=&externalToken_creditCompanyId=&externalToken_creditCompanyName=&externalToken_extendedCardType=&externalToken_Indication=&externalToken_tokenValue=&externalToken_tokenProvider=&ECIRaw=&cryptogram=&upoRegistrationDate=20231101&type=DEPOSIT&clientRequestId=&relatedTransactionId=&sessionId=b7ebf09b725fe42b865823beb117&responsechecksum=9b5593a4a700e75fd79df740fd9804ec&advanceResponseChecksum=48ffcfbdbe711d15d8d508989dcbfdc7',
To perform a Pay with Bank Transfer payout, you need to create a UPO, which represents the customer’s bank account details, with the /addUPOAPM method before sending the /payout
request:
1. Register a userTokenId
A userTokenId
is a field in the Nuvei system containing the user’s identifier in the merchant system.
If you do not have a userTokenId
registered in the Nuvei system for this user, then register one by sending a /createUser request, including email
, countryCode
, firstName
, and lastName
. countryCode
must be “UK“.
Example /createUser
Request
{ "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientRequestId":"<unique request ID in merchant system>", "userTokenId":"<unique user identifier in merchant system>", "email":"john.smith@email.com", "countryCode":"UK","firstName":"John","lastName":"Smith", "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>"}
Example /createUser
Response
{ "userId":78403498, "internalRequestId":552360538, "status":"SUCCESS", "errCode":0, "reason":"", "merchantId":"2439523627382132721", "merchantSiteId":"224428", "version":"1.0", "clientRequestId":"20221108130736"}
The request registers the userTokenId
(userId
) in the Nuvei system, which is needed to generate a userPaymentOptionId
in the next step.
2. Create the UPO
Create a UPO by sending an /addUPOAPM request and include:
userTokenId
– The unique user identifier in your system.paymentMethodName
: “apmgw_PayWithBankTransfer“
Example /addUPOAPM
Request
{ "merchantSiteId": "<your merchantSiteId>", "merchantId": "<your merchantId>", "userTokenId": "<unique customer identifier in merchant system>", "clientRequestId": "<unique request ID in merchant system>", "timeStamp": "<YYYYMMDDHHmmss>", "paymentMethodName": "apmgw_PayWithBankTransfer", "checksum": "<calculated checksum>"}
The request returns an encrypted userPaymentOptionId
representing the user’s APM account details.
Example /addUPOAPM
Response
{ "userPaymentOptionId":83458468, "internalRequestId":553078068, "status":"SUCCESS", "errCode":0, "reason":"", "merchantId":"2439523627382132721", "merchantSiteId":"224428", "version":"1.0", "clientRequestId":"20221109154215"}
3. Send a /payout
Request
Send a/payoutrequest and include theuserPaymentOptionId
, which contains the user’s previously stored APM account details. Press here for an example.
After the transaction is processed, Nuvei sends a DMN that includes the result of the transaction to urlDetails.notificationUrl
, which Nuvei recommends including in the /payout
request.
Payment
- The user is redirected to the Pay with Bank Transfer Review Payment page.
- After pressing Agree & Continue, the user selects a bank.
- The user selects a login method.
- If the user scans the QR code, the bank’s mobile app opens. The user reviews and confirms the payment.
- If the user presses Continue on Desktop:
- The user is redirected to the bank’s website.
- The user logs in to the website using two-factor account authentication.
- The user reviews and confirms the payment.
- The user is redirected to the bank’s website.
- The user is redirected back to the Nuvei Payment Page (Deposit) and the payment is confirmed.
Withdrawal
- On the Nuvei Payment Page (Withdrawal), the user selects an existing Pay by Bank payment method.
- The user specifies the withdrawal amount.
- A withdrawal request is created.
To test the Pay with Bank Transfer payment method, use the following data:
Bank: MV Bank
Username: mvtest
Password: test2019
Testing Amounts
Amount | Payment Status |
---|---|
£ 10.00 | AcceptedSettlementInProcess |
£ 30.00 | Pending |
£ 40.00 | Rejected |
£ 50.00 | Bad Request |
£ 20 or any other amount (£ 13 works better) | AcceptedSettlementCompleted |
£ 13.00 | AcceptedSettlementCompleted and you will receive all of the account information required for payouts |