- METHOD TYPEReal-Time Bank Transfer
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
Faster Payments is a banking initiative in the United Kingdom that enables near-instantaneous money transfers, reducing payment times between different banks’ customer accounts. If the receiving bank or building society also uses Faster Payments, payments arrive almost immediately (although sometimes it can take up to two hours).
The Verified Faster Payments APM provider uses an algorithm to compare the name provided by the user with the real name provided by the bank and generates a match score.
Supported Countries
- United Kingdom
Supported Currencies
- GBP
Payout (Withdrawal) Flow
Press tab to open…
To perform a payout with Verified Faster Payments, you need to use the /accountCapture
method before sending the /payout
API request:
- Generate a
sessionToken
. Press here for details. - Send an
/accountCapture
request with all of its mandatory parameters, including:userTokenId
– Unique customer identifier in merchant system.paymentMethod
: “apmgw_Verified_Faster_Payments“currencyCode
: “GBP“countryCode
: “GB“
Example
/accountCapture
Request{ "sessionToken": "<sessionToken from /getSessionToken>", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "userTokenId": "<unique customer identifier in merchant system>", "paymentMethod": "apmgw_Verified_Faster_Payments", "currencyCode": "GBP", "countryCode": "GB" }
The request returns a
redirectUrl
.Example
/accountCapture
Response{ "internalRequestId": 42177171, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "1102398682906145682", "merchantSiteId": "228311", "version": "1.0", "sessionToken": "505557de-b492-435b-b67d-45e1e0ff0d4c", "redirectUrl": "https://auth.truelayer-sandbox.com/[email protected]&scope=accounts%20info%20verification&response_type=code&redirect_uri=https://jumpbox.safecharge.com/dmz/ApmConnectorNotify/ConnectorBankCapture/711/540&state=018246908B03252D1292C89B21630999&client_id=sandbox-nuvei12345-aceeb4&providers=uk-cs-mock&tracking_id=2610000000061351", "userTokenId": "99999455" }
- Use
redirectUrl
to redirect the customer to an account details capture page where they enter account details. - Once the information is captured, Nuvei stores the data in a
userPaymentOptionId
(UPO) identifier, and sends a Direct Merchant Notification (DMN) with the newly createduserPaymentOptionId
tourlDetails.notificationUrl
, which Nuvei recommends including in the/accountCapture
request.
If the user has more than one IBAN or account number, Nuvei creates the UPO with the first IBAN or account number. The merchant needs to check the IBAN or account number in theapmPayerInfo
portion of the DMN and, if necessary, send an/editUPOAPM
request to change the IBAN or account number for the UPO to the one the customer is using for the payout.Example
/accountCapture
DMN...'ppp_status=OK&ExErrCode=&ErrCode=&errApmCode=0&errApmDescription=&errScCode=0&errScDescription=&Reason=&ReasonCode=&PPP_TransactionID=&userid=140061921&merchant_unique_id=&customData=&productId=&first_name=&last_name=&email=¤cy=GBP&customField1=&customField2=&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=&address2=&country=GB&state=&city=&zip=&phone1=&phone2=&phone3=&client_ip=&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&expMonth=&expYear=&Token=&tokenId=&AuthCode=&AvsCode=&Cvv2Reply=&shippingCountry=&shippingState=&shippingCity=&shippingAddress=&shippingZip=&shippingFirstName=&shippingLastName=&shippingPhone=&shippingCell=&shippingMail=&total_discount=&total_handling=&total_shipping=&total_tax=&buyButtonProductBundleId=&merchant_site_id=228311&merchant_status=&action=&requestVersion=&message=&merchantLocale=&unknownParameters=&payment_method=apmgw_Verified_Faster_Payments&ID=&merchant_id=1102398682906145682&responseTimeStamp=2024-07-10.12%3A54%3A49&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=&externalEmail=&cardCompany=&eci=&user_token_id=99999455&userPaymentOptionId=2153285031&TransactionID=&totalAmount=&dynamicDescriptor=&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&type=ACCOUNT_CAPTURE&clientRequestId=&relatedTransactionId=&apmPayerInfo=%5B%7B%22verifiable%22%3A%22true%22%2C%22currency%22%3A%22GBP%22%2C%22iban%22%3A%22GB08CLRB04066800003435%22%2C%22provider_id%22%3A%22mock%22%2C%22account_type%22%3A%22CURRENT%22%2C%22display_name%22%3A%22John+Doe%22%2C%22swift_bic%22%3A%22CPBKGB00%22%2C%22account_number%22%3A%2210000000%22%2C%22sort_code%22%3A%2201-21-31%22%2C%22account_holders%22%3A%5B%7B%22name%22%3A%22John+Doe%22%2C%22verified%22%3A%22true%22%2C%22match_score%22%3A%22100%22%7D%5D%7D%2C%7B%22verifiable%22%3A%22true%22%2C%22currency%22%3A%22GBP%22%2C%22iban%22%3A%22GB08CLRB04066800003435%22%2C%22provider_id%22%3A%22mock%22%2C%22account_type%22%3A%22CURRENT%22%2C%22display_name%22%3A%22Joint+Account%22%2C%22swift_bic%22%3A%22CPBKGB00%22%2C%22account_number%22%3A%2250000000%22%2C%22sort_code%22%3A%2201-21-31%22%2C%22account_holders%22%3A%5B%7B%22name%22%3A%22John+Doe%22%2C%22verified%22%3A%22true%22%2C%22match_score%22%3A%22100%22%7D%2C%7B%22name%22%3A%22Mary+Poppins%22%2C%22verified%22%3A%22false%22%2C%22match_score%22%3A%2230%22%7D%5D%7D%5D&responsechecksum=eb3501a6e6f06b8ee3cd6982839d378c&advanceResponseChecksum=e7c555a66af3fc7fc109f3a767f2e165,'
- Send a
/payout
request with all of its mandatory parameters, including:userPaymentOptionId
– Contains the user’s previously stored APM account details.userDetails
class containing:firstName
lastName
email
In addition, to minimize transactions held by the RFI process, the following parameters are mandatory :
-
-
birthdate
address
(for example: 1 Hardwick Street)city
zip
-
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.
Example Payment Page Request
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to notify_url
, which Nuvei recommends including in the request.
- REST API
-
To perform a payout with Verified Faster Payments, you need to use the
/accountCapture
method before sending the/payout
API request:- Generate a
sessionToken
. Press here for details. - Send an
/accountCapture
request with all of its mandatory parameters, including:userTokenId
– Unique customer identifier in merchant system.paymentMethod
: “apmgw_Verified_Faster_Payments“currencyCode
: “GBP“countryCode
: “GB“
Example
/accountCapture
Request{ "sessionToken": "<sessionToken from /getSessionToken>", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "userTokenId": "<unique customer identifier in merchant system>", "paymentMethod": "apmgw_Verified_Faster_Payments", "currencyCode": "GBP", "countryCode": "GB" }
The request returns a
redirectUrl
.Example
/accountCapture
Response{ "internalRequestId": 42177171, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "1102398682906145682", "merchantSiteId": "228311", "version": "1.0", "sessionToken": "505557de-b492-435b-b67d-45e1e0ff0d4c", "redirectUrl": "https://auth.truelayer-sandbox.com/[email protected]&scope=accounts%20info%20verification&response_type=code&redirect_uri=https://jumpbox.safecharge.com/dmz/ApmConnectorNotify/ConnectorBankCapture/711/540&state=018246908B03252D1292C89B21630999&client_id=sandbox-nuvei12345-aceeb4&providers=uk-cs-mock&tracking_id=2610000000061351", "userTokenId": "99999455" }
- Use
redirectUrl
to redirect the customer to an account details capture page where they enter account details. - Once the information is captured, Nuvei stores the data in a
userPaymentOptionId
(UPO) identifier, and sends a Direct Merchant Notification (DMN) with the newly createduserPaymentOptionId
tourlDetails.notificationUrl
, which Nuvei recommends including in the/accountCapture
request.
If the user has more than one IBAN or account number, Nuvei creates the UPO with the first IBAN or account number. The merchant needs to check the IBAN or account number in theapmPayerInfo
portion of the DMN and, if necessary, send an/editUPOAPM
request to change the IBAN or account number for the UPO to the one the customer is using for the payout.Example
/accountCapture
DMN...'ppp_status=OK&ExErrCode=&ErrCode=&errApmCode=0&errApmDescription=&errScCode=0&errScDescription=&Reason=&ReasonCode=&PPP_TransactionID=&userid=140061921&merchant_unique_id=&customData=&productId=&first_name=&last_name=&email=¤cy=GBP&customField1=&customField2=&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=&address2=&country=GB&state=&city=&zip=&phone1=&phone2=&phone3=&client_ip=&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&expMonth=&expYear=&Token=&tokenId=&AuthCode=&AvsCode=&Cvv2Reply=&shippingCountry=&shippingState=&shippingCity=&shippingAddress=&shippingZip=&shippingFirstName=&shippingLastName=&shippingPhone=&shippingCell=&shippingMail=&total_discount=&total_handling=&total_shipping=&total_tax=&buyButtonProductBundleId=&merchant_site_id=228311&merchant_status=&action=&requestVersion=&message=&merchantLocale=&unknownParameters=&payment_method=apmgw_Verified_Faster_Payments&ID=&merchant_id=1102398682906145682&responseTimeStamp=2024-07-10.12%3A54%3A49&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=&externalEmail=&cardCompany=&eci=&user_token_id=99999455&userPaymentOptionId=2153285031&TransactionID=&totalAmount=&dynamicDescriptor=&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&type=ACCOUNT_CAPTURE&clientRequestId=&relatedTransactionId=&apmPayerInfo=%5B%7B%22verifiable%22%3A%22true%22%2C%22currency%22%3A%22GBP%22%2C%22iban%22%3A%22GB08CLRB04066800003435%22%2C%22provider_id%22%3A%22mock%22%2C%22account_type%22%3A%22CURRENT%22%2C%22display_name%22%3A%22John+Doe%22%2C%22swift_bic%22%3A%22CPBKGB00%22%2C%22account_number%22%3A%2210000000%22%2C%22sort_code%22%3A%2201-21-31%22%2C%22account_holders%22%3A%5B%7B%22name%22%3A%22John+Doe%22%2C%22verified%22%3A%22true%22%2C%22match_score%22%3A%22100%22%7D%5D%7D%2C%7B%22verifiable%22%3A%22true%22%2C%22currency%22%3A%22GBP%22%2C%22iban%22%3A%22GB08CLRB04066800003435%22%2C%22provider_id%22%3A%22mock%22%2C%22account_type%22%3A%22CURRENT%22%2C%22display_name%22%3A%22Joint+Account%22%2C%22swift_bic%22%3A%22CPBKGB00%22%2C%22account_number%22%3A%2250000000%22%2C%22sort_code%22%3A%2201-21-31%22%2C%22account_holders%22%3A%5B%7B%22name%22%3A%22John+Doe%22%2C%22verified%22%3A%22true%22%2C%22match_score%22%3A%22100%22%7D%2C%7B%22name%22%3A%22Mary+Poppins%22%2C%22verified%22%3A%22false%22%2C%22match_score%22%3A%2230%22%7D%5D%7D%5D&responsechecksum=eb3501a6e6f06b8ee3cd6982839d378c&advanceResponseChecksum=e7c555a66af3fc7fc109f3a767f2e165,'
- Send a
/payout
request with all of its mandatory parameters, including:userPaymentOptionId
– Contains the user’s previously stored APM account details.userDetails
class containing:firstName
lastName
email
In addition, to minimize transactions held by the RFI process, the following parameters are mandatory :
-
-
birthdate
address
(for example: 1 Hardwick Street)city
zip
-
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. - Generate a
- Payment Page
-
Example Payment Page Request
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to
notify_url
, which Nuvei recommends including in the request.
DMN Examples
Example Payout DMN with wdRequestStatus
=PENDING
...'wdRequestId=11050568notificationType=WITHDRAW_REQUEST_NOTIFICATION&merchantSiteId=238459&merchantGwId=5970183043540730700&merchantLocale=en_GB&wdRequestState=Open&wdRequestStatus=Pending&firstName=John&lastName=Doe&userTokenId=28c8edde3d61a0411511&zip=W2+6BD&city=London&country=GB&phone1=441234567890&email=johndoe%40gmail.com&address=6th+Floor%2C+2+Kingdom+Street&amount=9.00&approvedAmount=0.00¤cy=GBP&userId=1&userPMId=122445238&paymentMethod=apmgw_Verified_Faster_Payments&version=1.0&pmDisplayName=GB08CLRB04066800003435&customField1=1&client_ip=179.209.44.166&responseTimeStamp=2024-07-31.12%3A48%3A45&feeAmount=0.0&transactionAmount=9.0&upoRegistrationDate=20240729&checksum=85f46369ca7942a0bf74eebb105946bb',
Example Payout DMN with wdRequestStatus
=APPROVED
...'wdRequestId=11050568notificationType=WITHDRAW_REQUEST_NOTIFICATION&merchantSiteId=238459&merchantGwId=5970183043540730700&merchantLocale=en_GB&wdRequestState=Closed&wdRequestStatus=Approved&firstName=John&lastName=Doe&userTokenId=28c8edde3d61a0411511&zip=W2+6BD&city=London&country=GB&phone1=441234567890&email=johndoe%40gmail.com&address=6th+Floor%2C+2+Kingdom+Street&amount=9.00&approvedAmount=9.00¤cy=GBP&userId=1&userPMId=122445238&paymentMethod=apmgw_Verified_Faster_Payments&version=1.0&pmDisplayName=GB08CLRB04066800003435&customField1=1&client_ip=179.209.44.166&responseTimeStamp=2024-07-31.12%3A48%3A59&feeAmount=0.0&transactionAmount=9.0&upoRegistrationDate=20240729&checksum=a207b38c6a56f01b90c8c8a99bcbc909',
User Experience
- The user is redirected to the provider’s website and selects a bank.
- The user connects the bank account to the provider by granting one-time access.
- The user is redirected to the bank’s website, logs in, and approves permission. For example, NatWest:
- The withdrawal request is submitted and processed by Nuvei and the APM.
Testing
Test credentials and testing scenarios can be provided by Nuvei if necessary. You can contact Nuvei support for assistance.