- METHOD TYPEBank Transfer
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
GlobalPay (Pavilion Payments) provides the VIP Preferred SDK APM, a payment processing solution that allows businesses to accept a wide range of electronic payments, including credit and debit cards, E-wallets, and bank transfers.
Users either manually enter bank account information for the VIP Preferred SDK APM or they use the Plaid platform to connect a bank account to the VIP Preferred SDK APM.
Supported Countries
- United States
Supported Currencies
- USD
Payment (Deposit) Flow
Press tab to open…
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 /payment
request with its mandatory parameters including:
userTokenId
amount
currency
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_VIP_Preferred_SDK“
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstName
,lastName
,country
,email
userDetails
class containing:
Parameter Type Description firstName
String(30) Customer’s first name. lastName
String(40) Customer’s last name. address
String(60) Customer’s address. phone
String(18) Customer’s phone1. city
String(30) Customer’s city. state
String(20) Customer’s Country Subdivision Codes. zip
String(10) Customer’s ZIP code. country
String(20) US dateOfBirth
String(10) The date of birth of the registering user. (YYYY-MM-DD) email
String(100) Customer’s email address. identification
String (9) Customer's social security number. identificationType
String (2) SS
Example /payment
Request
{ "sessionToken": "<sessionToken from /getSessionToken>", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "clientRequestId": "<unique request ID in merchant system>", "amount": "200", "currency": "USD", "userTokenId": "<unique customer identifier in merchant system>", "clientUniqueId": "<unique transaction ID in merchant system>", "paymentOption": { "alternativePaymentMethod": { "paymentMethod": "apmgw_VIP_Preferred_SDK" } }, "deviceDetails": { "ipAddress": "<customer's IP address>" }, "billingAddress": { "firstName": "John", "lastName": "Smith", "country": "US", "email": "john.smith@email.com" }, "userDetails": { "firstName": "John", "lastName": "Smith", "address": "22 Main Street", "phone": "6175551414", "zip": "02460", "city": "Boston", "country": "US", "state": "MA", "email": "john.smith@email.com", "county": "Suffolk", "language": "en", "dateOfBirth": "2000-06-30", "identification": "123456789", "identificationType": "SS" }, "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": 41462211, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "1102398682906145682", "merchantSiteId": "228311", "version": "1.0", "sessionToken": "05dfac30-ca93-4666-9fc7-7cbf711323b5", "orderId": "43181761", "userTokenId": "VIPPPR1", "paymentOption": { "redirectUrl": "https://cert.api-gaming.paviliononline.io/gaming/mobility/sdk?mode=deposit&redirectUrl=https%3A%2F%2Fjumpbox.safecharge.com%2Fdmz%2FApmConnectorNotify%2F649%2F665#c0ab9564-be6e-41d2-a164-aef9a917cc30", "userPaymentOptionId": "2153237021", "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.
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=43181761&userid=VIPPPR1&merchant_unique_id=&customData=&productId=&first_name=John&last_name=Smith&email=john.smith%40email.com¤cy=USD&customField1=&customField2=&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=22+Main+Street&address2=&country=United+States&state=GEORGIA&city=Atlanta&zip=30328&phone1=3126122250&phone2=&phone3=&client_ip=&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=GlobalPaySDK-PI&expMonth=&expYear=&Token=&tokenId=&AuthCode=Bank+Of+America%2C+Na&AvsCode=&Cvv2Reply=&shippingCountry=US&shippingState=GEORGIA&shippingCity=Atlanta&shippingAddress=22+Main+Street&shippingZip=30328&shippingFirstName=John&shippingLastName=Smith&shippingPhone=3126122250&shippingCell=&shippingMail=john.smith%40email.com&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=228311&merchant_status=&action=&requestVersion=&message=APPROVED&merchantLocale=&unknownParameters=&payment_method=apmgw_VIP_Preferred_SDK&ID=&merchant_id=1102398682906145682&responseTimeStamp=2024-06-10.06%3A41%3A43&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=VIPPPR1&userPaymentOptionId=2153237021&TransactionID=2610000000000033198&APMReferenceID=20FC33A1667BE809E966A85C4FAA1D83&orderTransactionId=24533301&totalAmount=10.00&dynamicDescriptor=Rank+Descriptor&item_name_1=NA&item_number_1=&item_amount_1=10.00&item_quantity_1=1&item_discount_1=0.00&item_handling_1=0.00&item_shipping_1=0.00&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&upoRegistrationDate=20240610&shippingCounty=Suffolk&type=DEPOSIT&clientRequestId=&relatedTransactionId=&sessionId=e0d23604a8063389d6b678b3c90e&responsechecksum=558bdd6e6883be2f1c7c7253759998da&advanceResponseChecksum=25216b67b71817095c2c7d1f2b985873',
For the payment (deposit) user experience, press here.
Payout (Withdrawal) Flow
Press tab to open…
Follow these steps to perform a payout using Nuvei REST API integration:
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
.
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":"US", "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
in the Nuvei system, which is needed to generate a UPO in the next step.
2. Create the UPO
Create a UPO by sending an /addUPOAPM
request and include:
userTokenId
– Unique customer identifier in the merchant’s system.paymentMethodName
: “apmgw_VIP_Preferred_SDK“
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_VIP_Preferred_SDK", "checksum": "<calculated checksum>" }
The request returns an encrypted userPaymentOptionId
(UPO) representing the user’s APM account details.
Example /addUPOAPM
Response
{ "internalRequestId": 34302991, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "4972436454212160565", "merchantSiteId": "209631", "version": "1.0", "clientRequestId": "20231016153027", "userPaymentOptionId": 2153048311 }
3. Send a /payout
Request
Send a /payout
request that includes the userPaymentOptionId
, which contains the user’s previously stored APM account details, and its mandatory parameters, including:
userDetails
class containing:
Parameter Type Description firstName
String(30) Customer’s first name. lastName
String(40) Customer’s last name. address
String(60) Customer’s address. phone
String(18) Customer’s phone1. city
String(30) Customer’s city. state
String(20) Customer’s Country Subdivision Codes. zip
String(10) Customer’s ZIP code. country
String(20) US dateOfBirth
String(10) The date of birth of the registering user. (YYYY-MM-DD) email
String(100) Customer’s email address. identification
String (9) Customer's social security number. identificationType
String (2) SS
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 /payout
request.
For the payout (withdrawal) user experience, press here.
User Experience
Deposit – First-Time User Manually Entering Bank Account Information
- The user is redirected to the VIP Preferred SDK page.
- The user presses MANUALLY ENTER BANK INFO, provides the account number and the routing number, and then presses Done.
If the user already has linked a bank account using Plaid, this is not possible.
- The bank account is added. The user reads and accepts the terms and conditions, privacy notice, and GLBA notice.
- The user receives confirmation that the VIP Preferred SDK account was created.
- The user proceeds with the deposit.
- The user receives confirmation for the successful deposit.
Deposit – First-Time User Connecting Bank Account via Plaid
- The user is redirected to the VIP Preferred SDK page.
- The user presses CONNECT YOUR BANK ACCOUNT, and is redirected to Plaid.
- The user selects a banking institution; for example, Bank of America.
- The user is redirected to the banking institution and signs in for authentication.
In the Plaid sandbox environment, First Platypus Bank is used.
- The user chooses to verify their identity using their mobile phone.
- The user provides the code received on their mobile phone.
- After successful authentication, the user connects account information to Plaid.
- The user reads and accepts the bank’s terms and conditions.
- The user is redirected back to Plaid, where they select the account.
- The user receives confirmation the account was successfully linked.
- The bank account is added. The user reads and accepts the terms and conditions, privacy notice, and GLBA notice.
- The user receives confirmation that the VIP Preferred SDK account was created.
- The user proceeds with the deposit.
- The user receives confirmation for the successful deposit.
Deposit – Previous User
- The user is redirected to the VIP Preferred SDK page. The previously linked bank account is selected.
- The user receives confirmation for the successful deposit.
Withdrawal – First-Time User Manually Entering Bank Account Information
- The user is redirected to the VIP Preferred SDK page.
- The user presses MANUALLY ENTER BANK INFO, provides the account number and the routing number, and then presses Done.
If the user already has linked a bank account using Plaid, this is not possible.
- The bank account is added. The user reads and accepts the terms and conditions, privacy notice, and GLBA notice.
- The user receives confirmation that the VIP Preferred SDK account was created.
- The user proceeds with the withdrawal.
- The user receives confirmation that the withdrawal request was successfully submitted.
Withdrawal – First-Time User Connecting Bank Account via Plaid
- The user is redirected to the VIP Preferred SDK page.
- The user presses CONNECT YOUR BANK ACCOUNT, and is redirected to Plaid.
- The user selects a banking institution; for example, Bank of America.
- The user is redirected to the banking institution and signs in for authentication.
In the Plaid sandbox environment, First Platypus Bank is used.
- The user chooses to verify their identity using their mobile phone.
- The user provides the code received on their mobile phone.
- After successful authentication, the user connects account information to Plaid.
- The user reads and accepts the bank’s terms and conditions.
- The user is redirected back to Plaid, where they select the account.
- The user receives confirmation the account was successfully linked.
- The bank account is added. The user reads and accepts the terms and conditions, privacy notice, and GLBA notice.
- The user receives confirmation that the VIP Preferred SDK account was created.
- The user proceeds with the withdrawal.
- The user receives confirmation that the withdrawal request was successfully submitted.
Withdrawal – Previous User
Testing
Test credentials and testing scenarios can be provided by Nuvei if necessary. You can contact Nuvei support for assistance.