Introduction
Sightline is a payment technology provider who provides gaming and non-gaming payment products.
The Play+ APM (Alternate Payment Method) is provided by Sightline.
Nuvei Environments
Play+ can be used in Nuvei’s Cashier, Simply Connect, Web SDK, and REST API payment environments.
Purpose
This guide provides steps to integrate the Play+ APM into your payment flows using the REST API payment environment.
Prerequisites and Notes
- This document assumes that you have completed all account setup prerequisites, and are ready to integrate Play+ into your payment flow.
- The Play+ payment method is supported only for US-based customers, and all amounts sent/received are stated in US Dollars (USD).
- Test credentials and testing procedures should be obtained directly from the APM providers.
Play+ using REST – Flows
The following sections describe “suggested” flows between you and Play+ via the Nuvei REST API.
You are free to adapt these flows in any way.
REST Flows | Description | Main Method Used |
---|---|---|
Check if the customer has an account with the specified APM provider: paymentOption.alternativePaymentMethod.paymentMethod , and retrieve account details, account balance, account limits, enrolled (registered) bank accounts, etc. | /getAccountDetails |
|
Retrieve a documentUrl (Direct flow only) | Retrieve a documentUrl by specifying the documentType : "TermsAndConditions", "PrivacyPolicy" or "FAQ".The documentUrl is used to redirect the customer to display some information, or to request their agreement to some terms and conditions, before being allowed to proceed. | /getDocumentUrl |
Enroll (register/create) an account for the customer with the specified APM provider. | ||
Fund an Account (Redirect flow only) | Fund the customer’s account / wallet held with the specified APM provider. | /fundAccount |
Deposit / Withdrawal Flow | Perform financial transactions for the customer with the APM provider. For details, see the Financial Transactions topic. |
|
REST Redirect Flows
Account Inquiry (Redirect)
Step | Description |
---|---|
1 | Get the customer’s Play+ account details: Call /getAccountDetails – to check if the customer already has a Play+ account.
|
2B | Display the Play+ account details and balance. (END OF FLOW) |
Enroll (Redirect)
Step | Description |
---|---|
2A | Enroll the customer: Call /enrollAccount (Redirect flow) and include the customer’s bank account details etc. to open a Play+ account for the customer.
|
3A | Redirect the customer by providing an IFrame / pop-up / some type of UI interface, and redirect the customer to the redirectUrl , where they will enroll to open a Play+ account.Wait for a notification from Play+, and then PROCEED TO (4A). |
4A | Get the customer’s Play+ account details: Call /getAccountDetails – for the customer’s newly created Play+ account.
|
2B / 5A | Display the Play+ account details and balance. (END OF FLOW) |
Fund Account (Redirect)
Step | Description |
---|---|
6 | Add Funds to the customer’s Play+ Account by providing some sort of “Fund My Account” button for the customer. When the customer presses this button, it calls the /fundAccount request.
|
7 | Redirect the customer by providing an IFrame / pop-up / some type of UI interface, and redirect the customer to the redirectUrl , where they will move funds from a bank account to their Play+ account.Wait for a notification from Play+, and then – PROCEED TO (8). |
8 | Get the customer’s Play+ account details: Call /getAccountDetails to show the customer’s Play+ account.
|
9 | Display the Play+ account details and balance. (END OF FLOW) |
Payment / Payout Flow
Step | Description |
---|---|
10 | Perform a financial transaction (/payment , /payout , and /refundTransaction ).For details, see the Financial Transactions topic. |
REST Direct Flows
Full REST Direct Flows to support Enroll (NewRequest)
Step | Description |
---|---|
DIR-1 | Get the customer’s Play+ account details: Call /getAccountDetails to check if the customer already has a Play+ account.
|
DIR-2A | Get the Document URL for the “TermsAndConditions” document: Call /getDocumentUrl and set documentType parameter to “TermsAndConditions”.
|
DIR-3A | Redirect the customer to the documentUrl by providing an IFrame / pop-up / or some type of UI interface, where the customer can read the “TermsAndConditions”.Provide a button that the customer can press to “Accept” the “Terms and Conditions”.
|
DIR-4A | Enroll (“NewRequest”) the customer: Call /enrollAccount (Direct flow) with:
|
Hard Decline – Account Enrollment Failure:
|
|
Soft Decline – Enrollment Pending (need the customer to answer KBA (knowledge base authentication) Questions:
|
|
Success – Customer account created:
|
|
DIR-5B | Account Enrollment Failure – Returned the paymentMethodErrorReason (END OF FLOW) |
DIR-5C | Receive array of verificationQuestions – PROCEED TO (DIR-6C). |
DIR-6C | Display the verificationQuestions to the customer, by providing an IFrame / pop-up / or some type of UI interface, where the customer can submit their answers back to you. |
DIR-7C | Try Enroll the customer again using their answers that you collected. Call /enrollAccount (Direct flow) with:
|
DIR-2E | Display the Play+ account details and balance. (END OF FLOW) |
Account Inquiry (Direct)
Step | Description |
---|---|
DIR-1 | Get the customer’s Play+ account details: Call /getAccountDetails to check if the customer already has a Play+ account.
|
DIR-2E | Display the Play+ account details and balance. (END OF FLOW) |
Document URL (Direct)
Step | Description |
---|---|
DIR-2A | Get the Document URL for the “TermsAndConditions” document: Call /getDocumentUrl and set documentType parameter to “TermsAndConditions”.
|
DIR-3A | Redirect the customer to the documentUrl by providing an IFrame / pop-up / or some type of UI interface, where the customer can read the “TermsAndConditions”.Provide a button that the customer can press to “Accept” the “Terms and Conditions”.
|
Enroll (Direct) – (NewRequest)
Step | Description |
---|---|
DIR-4A | Enroll (“NewRequest”) the customer: Call /enrollAccount (Direct flow) with:
|
Hard Decline – Account Enrollment Failure:
|
|
Soft Decline – Enrollment Pending (need the customer to answer KBA (knowledge base authentication) Questions:
|
|
Success – Customer account created:
|
|
DIR-5B | Account Enrollment Failure – Returned the paymentMethodErrorReason (END OF FLOW) |
DIR-5C | Receive array of verificationQuestions – PROCEED TO (DIR-6C). |
DIR-6C | Display the verificationQuestions to the customer, by providing an IFrame / pop-up / or some type of UI interface, where the customer can submit their answers back to you. |
DIR-7C | Try Enroll the customer again using their answers that you collected. Call /enrollAccount (Direct flow) with:
|
REST – Play+ Specific Methods
Nuvei supports the following Play+ specific REST API methods:
REST Method | Description | REST Flows |
---|---|---|
/getAccountDetails | Check if the customer has an account with the specified APM provider: paymentOption.alternativePaymentMethod.paymentMethod , and retrieve account details, account balance, account limits, enrolled (registered) bank accounts, etc. | |
/getDocumentUrl | Retrieve a documentUrl by specifying the documentType : "TermsAndConditions", "PrivacyPolicy", or "FAQ".The documentUrl is used to redirect the customer to display some information, or to request their agreement to some terms and conditions, before being allowed to proceed. | Retrieve a documentUrl |
Enroll (register/create) an account for the customer with the specified APM provider. | ||
/fundAccount | Fund the customer’s account / wallet held with the specified APM provider. | Fund an Account |
/getAccountDetails
This process allows you to send a /getAccountDetails
request to the customer’s “wallet” to retrieve their customer’s available balance and bank accounts details.
Step | Description |
---|---|
1 | Generate a sessionToken by sending a /getSessionToken request. |
2 | Call the /getAccountDetails request using sessionToken , the userId from your internal systems, and all the other relevant parameters. |
3 | Successful response returns:
|
4 | Failed response returns:
|
Example /getAccountDetails
Request
{ "sessionToken":"<sessionToken from /getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientUniqueId":"<unique transaction ID in merchant system>", "clientRequestId":"<unique request ID in merchant system>", "userId":"E677539C0C54", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod":"apmgw_PlayPlus" } }, "deviceDetails":{ "deviceType":"TABLET", "deviceName":"iPad", "deviceOS":"iOS U", "browser":"safari U", "ipAddress":"<customer's IP address>" }, "userDetails":{ "firstName":"John", "lastName":"Smith", "address":"22 Main Street", "phone":"6175551414", "zip":"02460", "city":"Boston", "country":"US", "state":"MA", "email":"[email protected]", "county":"Suffolk", "language":"en", "dateOfBirth":"2000-06-30", "identification":"123456789" } }
Example /getAccountDetails
SUCCESS Response
{ "reason":"", "authCode":"2b3de42362bf49ed8f36df3ab2b3c637", "clientRequestId":"R4WXUZUZ7", "internalRequestId":"17453921", "userId":"E677539C0C54", "version":"1.0", "merchantSiteId":"126006", "merchantId":"2502136204546424962", "clientUniqueId":"695701003", "errCode":0, "sessionToken":"e0de4572-b08f-4f73-8ef4-99cc0aafdf3e", "currency":"USD", "externalTransactionId":"2b3de42362bf49ed8f36df3ab2b3c637", "accountBalance":"1413.5000", "status":"SUCCESS" }
Example /getAccountDetails
ERROR Response
{ "reason":"Balance retrieval error", "clientRequestId":"GYJ54PS53", "internalRequestId":"17453901", "userId":"E677539C0C", "version":"1.0", "merchantSiteId":"126006", "merchantId":"2502136204546424962", "clientUniqueId":"695701003", "errCode":"9091", "paymentMethodErrorCode":"536870912", "paymentMethodErrorReason":"Request Failed | IM – Invalid Member Number", "sessionToken":"2e8af998-4a31-4f2b-88d8-798da1f0a0f0", "status":"ERROR" }
/enrollAccount (Redirect)
This process allows you to send a redirect /enrollAccount
request, which presents a UI to the customer, in order to create a wallet in Play+. The method returns a redirectUrl
to which you must redirect the customer using an appropriate HTML container.
Step | Description |
---|---|
1 | Generate a sessionToken by sending a /getSessionToken request. |
2 | Call the /enrollAccount request using sessionToken , the userId from your internal systems, "enrollmentAction ": "AccountCapture", and all the other relevant parameters. |
3 | Successful response returns:
|
4 | Failed response returns:
|
Example /enrollAccount
Request (Redirect)
{ "sessionToken":"<sessionToken from /getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientUniqueId":"<unique transaction ID in merchant system>", "clientRequestId":"<unique request ID in merchant system>", "userId":"E677539C0C54", "enrollmentAction":"AccountCapture", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod":"apmgw_PlayPlus" } }, "userDetails":{ "firstName":"John", "lastName":"Smith", "address":"22 Main Street", "phone":"6175551414", "zip":"02460", "city":"Boston", "country":"US", "state":"MA", "email":"[email protected]", "county":"Suffolk", "language":"en", "dateOfBirth":"2000-06-30", "identification":"123456789" }, "urlDetails":{ "notificationUrl":"<URL to which DMNs are sent>" } }
Example /enrollAccount
SUCCESS Response (Redirect)
{ "reason":"", "redirectUrl":"https://cdn-int.safecharge.com/safecharge_resources/v1/get_to_post/index.html?eyJhbGciOiJSUzI1NiJ9.eyJ1cmwiOiJodHRwczovL2NlYXBzcGFuZXguc2xwdWF0LmNvbS9Ib3N0ZWRGdW5kaW5nIiwiTWVtYmVyTnVtYmVyIjoiRTY3NzUzOUMwQzU0IiwiRmlyc3ROYW1lIjoiSkFWQVkiLCJMYXN0TmFtZSI6Ik1PU1FVRURBIiwiUGhvbmVOdW1iZXIiOiIzMDE4NTcyMTc1IiwiRW1haWwiOiJzZ2t1eS50eml6dEBlYWJlcS5icSIsIkFkZHJlc3MiOiIyMiBBdXRvbWF0aW9uIFN0ci4iLCJDaXR5IjoiQ2hpcHJvdmNpIiwiU3RhdGUiOiJNRCIsIkNvdW50cnkiOiJVUyIsIlBvc3RhbENvZGUiOiIzMjQyMSIsIklkZW50aXR5VG9rZW4iOiJXQUEwQUZrQWRRQnhBRGdBTVFCVUFFa0FlQUJuQURjQVZBQXpBRVFBYUFCaUFETUFid0JuQUVVQU1nQXZBSFFBU2dCRUFHVUFNQUJtQUhjQWJ3QllBR29BS3dCRUFEZ0FSZ0JYQUdvQVZBQm5BRGdBZGdCRUFIZ0FWQUJ6QUVzQVNRQTNBR3dBTlFCSUFDc0FUZ0EwQUhVQVRnQXlBRklBVFFCS0FHNEFjZ0JIQUhvQVVRQjZBSEVBVWdCUEFETUFNd0JqQURrQVV3Qm9BSEFBYlFCd0FESUFiZ0F4QUdnQVVRQm1BRFFBVWdCbUFERUFTUUJwQUZVQU5BQXlBRWNBTWdBNEFESUFTZ0JrQUM4QVdBQk1BRGtBU1FBeEFFZ0Fjd0E1QUU4QVJnQnFBQ3NBWndCVEFDc0FTQUJzQUVNQVZnQTJBRzBBTndCdEFGVUFNZ0F4QUhnQVdRQldBRkFBUndCRkFHUUFTZ0JSQUhFQVFRQlNBR3NBZHdCd0FHVUFNUUIxQUZVQVNBQndBR0lBYndCWEFFc0FkZ0J6QURjQVRRQktBRkVBV0FBNUFHWUFXUUJHQUZNQWJnQnJBQ3NBWWdCb0FGa0FXZ0JKQUZjQWJ3QlVBR3dBZWdBM0FFRUFTd0JTQURJQVNRQllBRllBT0FCR0FDOEFMd0J1QUM4QU13QktBRXNBYUFCekFHRUFaZ0JMQUZvQU5BQm5BSElBTkFCb0FDOEFjQUJvQUdRQVJnQlJBQzhBU0FBd0FITUFWUUJvQUZVQU1nQk9BR2dBWkFBeUFHWUFjUUF3QURjQVNRQTVBRFlBU3dCdkFHd0FOd0JwQUZrQWJBQnVBQzhBYkFCVkFHc0FNd0FyQUdrQWJ3QkNBRGdBYndCTkFGSUFaZ0JUQUdNQU5BQkhBR3dBY0FCb0FFVUFUUUJ6QUZrQVdRQktBRXdBUXdBMUFFRUFlUUF5QUVJQWRBQk1BRUVBTVFCbkFEMEFQUUE9IiwiTWVyY2hhbnRJRCI6IlNhZmVDaGFyZ2VNZXJjaCIsIk1lcmNoYW50QXBwbGljYXRpb24iOiJTQ2gwMSIsIk1lcmNoYW50VHJhbnNhY3Rpb25JRCI6IjQ4OTExIiwiTWVyY2hhbnROYW1lIjoiU2lnaHRsaW5lIFBheW1lbnRzIiwiRE9CIjoiMTk5Mi0wNi0wMiIsIklkVHlwZSI6IjIiLCJJZFZhbHVlIjoiMDUzOTQyNjg0In0.kwFY4mUPP-Xjq29yKCrhVoAmWOsDun0Ryukp-267PEDA52pADABcerd6ifl6JfcGK2ahMnNlOyu8vS-7BVSD8-z3qIvUY446M6K4GZxuCjRPREfx9c3oJwhqpN0vU8YLfiIrf8sHKPKlapxDg0vunjppQRSijqk0hMokRoH6_5Pstm6e7yhH3SFVi_B7Qe569Ny-P1nbC3Ult2h-AbsXAanlKfO1IPGEEbtUaPZatViAmd7TIjYigB02NkOtlAr9l_kpjE0fv2CSMtVGHvy1PkzaMaYO7KCdCagV_jB56dgPoYJYwuVMv3C7FMc1OWaA_cakeSL9LHH795mP3wuXuA", "merchantId":"2502136204546424962", "clientUniqueId":"695701003", "errCode":0, "clientRequestId":"KFK1BUZJ4", "sessionToken":"69234cef-8d45-4afc-b44b-18e99f2e8633", "internalRequestId":"17455361", "userId":"E677539C0C54", "version":"1.0", "status":"SUCCESS", "merchantSiteId":"126006" }
Example /enrollAccount
ERROR Response (Redirect)
{ "reason":"User account operation failed", "clientRequestId":"OZFE5CLJB", "internalRequestId":"17480951", "userId":"E677539C0C54", "version":"1.0", "merchantSiteId":"126006", "merchantId":"2502136204546424962", "clientUniqueId":"695701003", "errCode":"9092", "paymentMethodErrorCode":"536870926", "paymentMethodErrorReason":"Access Denied | CERTSAFECHRGEAPI01 is not associated with CERTSAFECHRGE, or CERTSAFECHRGE does not exist.", "sessionToken":"40d7a7a2-fc58-4030-b820-9d9f441d1422", "status":"ERROR" }
/getDocumentUrl
This process allows you to request a documentUrl
by specifying the documentType
: TermsAndConditions, PrivacyPolicy or FAQ in the /getDocumentUrl
request.
It supports two modes of operation:
- anonymous – The document is only reviewed by the customer.
- registration – The customer must accept the Terms & Conditions document.
This method returns a URL to the document specified in the request, in the Play+ Direct flow.
Step | Description |
---|---|
1 | Generate a sessionToken by sending a /getSessionToken request. |
2 | Call the /getDocumentUrl request using sessionToken , userId from your internal systems, documentType , and all the other relevant parameters. |
3 | Successful response returns:
|
4 | Failed response returns:
|
Example /getDocumentUrl
Request – Anonymous (no userId), documentType: “TermsAndConditions”
{ "sessionToken":"<sessionToken from /getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientUniqueId":"<unique transaction ID in merchant system>", "clientRequestId":"<unique request ID in merchant system>", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod":"apmgw_PlayPlus" } }, "documentType":"TermsAndConditions" }
Example /getDocumentUrl
Response – Anonymous (no userId), documentType: “TermsAndConditions”
{ "reason":"", "merchantId":"2502136204546424962", "clientUniqueId":"695701003", "errCode":0, "clientRequestId":"HIS79GYC4", "documentUrl":"https://ceapspanex.slpuat.com/playplusdocumentviewer/view/document/TCURL/SCh01", "sessionToken":"aab1cbec-f9b4-40d6-8f4b-e60e0cfcc3c9", "internalRequestId":17743421, "version":"1.0", "status":"SUCCESS", "merchantSiteId":"126006" }
Example /getDocumentUrl
Request – Registration (with userId
), documentType: "FAQ"
{ "sessionToken":"<sessionToken from /getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientUniqueId":"<unique transaction ID in merchant system>", "clientRequestId":"<unique request ID in merchant system>", "userId":"E677539C0C54", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod":"apmgw_PlayPlus" } }, "documentType":"FAQ" }
Example /getDocumentUrl
Response – Registration (with userId
), documentType: " FAQ"
{ "reason":"", "merchantId":"2502136204546424962", "clientUniqueId":"695701003", "errCode":0, "clientRequestId":"4LABDBTQ5", "documentUrl":"https://ceapspanex.slpuat.com/playplusdocumentviewer/view/document/FAQURL/SCh01/E677539C0C54/SafeChargeMerch/695701003", "sessionToken":"7f97c205-f683-4a25-8f2b-717a8769a0b9", "internalRequestId":17743711, "userId":"E677539C0C54", "version":"1.0", "status":"SUCCESS", "merchantSiteId":"126006" }
/enrollAccount (Direct)
This process allows you to send a direct API /enrollAccount
request to Play+ for account enrollment.
Step | Description |
---|---|
1 | Generate a sessionToken by sending a /getSessionToken request. |
2 | Call the /enrollAccount request using sessionToken , userId from your internal systems, and all the other relevant parameters.
|
3 | Successful response returns:
|
4 | Failed response returns:
|
Example /enrollAccount
Request (Direct)(NewRequest)
{ "sessionToken":"<sessionToken from /getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientUniqueId":"<unique transaction ID in merchant system>", "clientRequestId":"<unique request ID in merchant system>", "userId":"MD9XJRZZTP6M", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod":"apmgw_PlayPlus" } }, "enrollmentAction":"NewRequest", "enrollmentType":"Standard", "governmentIds":[ { "idType":"DriversLicense", "issuingGovernment":{ "country":"US", "isState":"True", "isCountry":"True", "state":"GA" }, "number":"112223333" }, { "idType":"SSN", "issuingGovernment":{ "country":"US", "isState":"True", "isCountry":"True", "state":"GA" }, "number":"112223333" } ], "phoneNumbers":[ { "number":"6175551414", "type":"Home" }, { "number":"6175552222", "type":"Work" } ], "billingAddress":{ "firstName":"John", "lastName":"Smith", "email":"[email protected]", "phone":"6175551414", "address":"22 Main Street", "city":"Boston", "country":"US", "state":"MA", "zip":"02460", "cell":"6175553333", "county":"Suffolk", "homePhone":"6175551414", "workPhone":"6175552222" }, "userDetails":{ "firstName":"John", "lastName":"Smith", "address":"22 Main Street", "phone":"6175551414", "zip":"02460", "city":"Boston", "country":"US", "state":"MA", "email":"[email protected]", "dateOfBirth":"2000-02-02", "identification":"123456789" } }
Example /enrollAccount
Response – (Direct)(NewRequest) – SUCCESS
{ "reason":"", "identityVerificationRequestId":"0", "authCode":"70419e03d7844a9c8ee5fdbad9da8ecb", "clientRequestId":"A0V7QVWLA", "internalRequestId":17762171, "userId":"MD9XJRZZTP6M", "version":"1.0", "merchantSiteId":"126006", "identityVerifierRequestId":"", "merchantId":"2502136204546424962", "clientUniqueId":"7HY2XQWMENHA", "errCode":0, "sessionToken":"26544891-c629-43b0-ab61-083ae19ee755", "externalTransactionId":"70419e03d7844a9c8ee5fdbad9da8ecb", "status":"SUCCESS" }
Example /enrollAccount
Response – (Direct)(NewRequest) – Hard Decline
{ "reason":"User account operation failed", "identityVerificationRequestId":"148696", "clientRequestId":"7ZNXH47WO", "internalRequestId":17750061, "userId":"XRWC7NU58DFR", "version":"1.0", "merchantSiteId":"126006", "verificationQuestions":[ ], "merchantId":"2502136204546424962", "clientUniqueId":"6SKUJ9I8BDMH", "errCode":9092, "paymentMethodErrorCode":"536870912", "paymentMethodErrorReason":"Request Failed | Id Verification Failure – Hard", "sessionToken":"615d1f91-33f0-4f36-9874-5b6c999448a7", "status":"ERROR" }
Example /enrollAccount
Response – (Direct)(NewRequest) – Soft Decline
{ "reason":"User account operation failed", "identityVerificationRequestId":"148838", "clientRequestId":"69OKV8P1L", "internalRequestId":17762491, "userId":"7T31TNHGLTE7", "version":"1.0", "merchantSiteId":"126006", "identityVerifierRequestId":"3549880445", "verificationQuestions":[ { "questionId":"current.county.b", "answers":[ { "value":"MANU'A", "key":"MANU'A" }, { "value":"JALUIT", "key":"JALUIT" }, { "value":"FULTON", "key":"FULTON" }, { "value":"None of the above", "key":"None of the above" } ], "prompt":"In which county have you lived?", "questionType":"current.county.b" }, { "questionId":"property.size", "answers":[ { "value":"1,000 or less", "key":"1,000 or less" }, { "value":"1,001 - 1,500", "key":"1,001 - 1,500" }, { "value":"1,501 - 2,000", "key":"1,501 - 2,000" }, { "value":"2,001 - 2,500", "key":"2,001 - 2,500" }, { "value":"Over 2,500", "key":"Over 2,500" }, { "value":"None of the above", "key":"None of the above" } ], "prompt":"What is the approximate square footage of the property at 222333 PEACHTREE PLACE?", "questionType":"property.size" }, { "questionId":"person.known.fic", "answers":[ { "value":"LISA MCKITRICK", "key":"LISA MCKITRICK" }, { "value":"REGINA ROTHENBERG", "key":"REGINA ROTHENBERG" }, { "value":"MANNY EDELSTEIN", "key":"MANNY EDELSTEIN" }, { "value":"None of the above", "key":"None of the above" } ], "prompt":"Which of the following people do you know?", "questionType":"person.known.fic" }, { "questionId":"city.of.residence", "answers":[ { "value":"CAMP VERDE", "key":"CAMP VERDE" }, { "value":"HILLSIDE", "key":"HILLSIDE" }, { "value":"ALMO", "key":"ALMO" }, { "value":"None of the above", "key":"None of the above" } ], "prompt":"In which city is ANY STREET?", "questionType":"city.of.residence" } ], "merchantId":"2502136204546424962", "clientUniqueId":"PRKQQ4YFG3YU", "errCode":9092, "paymentMethodErrorCode":"536870912", "paymentMethodErrorReason":"Request Failed | Id Verification Failure – Soft", "sessionToken":"c5c62461-fd8d-425c-b914-cc135399e3d9", "status":"KBAPENDING" }
Example /enrollAccount
Request – (Direct)(NewRequest) – For KBA Response
{ "sessionToken":"<sessionToken from /getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientUniqueId":"<unique transaction ID in merchant system>", "clientRequestId":"<unique request ID in merchant system>", "userId":"7T31TNHGLTE7", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod":"apmgw_PlayPlus" } }, "enrollmentAction":"KbaResponse", "enrollmentType":"Standard", "previousIdentityVerificationRequestId":"148838", "previousIdentityVerifierRequestId":"3549880445", "kbaResponses":[ { "key":"current.county.b", "value":"SUFFOLK" }, { "key":"property.size", "value":"Over 2,500" }, { "key":"person.known.fic", "value":"None of the above" }, { "key":"city.of.residence", "value":"BOSTON" } ], "governmentIds":[ { "idType":"SSN", "issuingGovernment":{ "country":"US", "isState":"True", "isCountry":"True", "state":"MA" }, "number":"112223333" } ], "phoneNumbers":[ { "number":"6175552222", "type":"Work" } ], "billingAddress":{ "firstName":"John", "lastName":"Smith", "email":"[email protected]", "phone":"6175551414", "address":"22 Main Street", "city":"Boston", "country":"US", "state":"MA", "zip":"02460", "cell":"6175553333", "county":Suffolk, "addressMatch":"N", "addressLine2":"Billing Address Line 2", "addressLine3":"Billing Address Line 3", "homePhone":"6175551414", "workPhone":"6175552222" }, "userDetails":{ "firstName":"John", "lastName":"Smith", "address":"22 Main Street", "phone":"6175553333", "zip":"02460", "city":"Boston", "country":"US", "state":"MA", "email":"[email protected]", "county":"Suffolk", "language":"en", "dateOfBirth": "2000-06-30", "identification":"123456789" } }
Example /enrollAccount
Response – (Direct)(NewRequest) – For KBA Response
{ "reason":"", "identityVerificationRequestId":"0", "authCode":"6f4e88d31968455fb754f6063bfe5865", "clientRequestId":"QSTUVZCT0", "internalRequestId":17762541, "userId":"7T31TNHGLTE7", "version":"1.0", "merchantSiteId":"126006", "identityVerifierRequestId":"", "merchantId":"2502136204546424962", "clientUniqueId":"PRKQQ4YFG3YU", "errCode":0, "sessionToken":"700faa58-671a-4348-acd6-5bb047e81725", "externalTransactionId":"6f4e88d31968455fb754f6063bfe5865", "status":"SUCCESS" }
/fundAccount
This process allows you to send a /fundAccount
request, which presents a UI to the customer in order to add funds to their wallet in Play+. The method returns redirectUrl
to which you must redirect the customer using an appropriate HTML container.
Step | Description |
---|---|
1 | Generate a sessionToken by sending a /getSessionToken request. |
2 | Call the /fundAccount request using sessionToken , userId from your internal systems, and all the other relevant parameters. |
3 | Successful response returns:
|
4 | Failed response returns:
|
Example /fundAccount
Request
{ "sessionToken":"<sessionToken from /getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientUniqueId":"<unique transaction ID in merchant system>", "clientRequestId":"<unique request ID in merchant system>", "userId":"E677539C0C54", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod":"apmgw_PlayPlus" } }, "userDetails":{ "firstName":"John", "lastName":"Smith", "address":"22 Main Street", "phone":"6175551414", "zip":"02460", "city":"Boston", "country":"US", "state":"MA", "email":"[email protected]", "county":"Suffolk", "language":"en", "dateOfBirth":"2000-06-30", "identification":"123456789" }, "urlDetails":{ "notificationUrl":"<URL to which DMNs are sent>" } }
Example /fundAccount
SUCCESS Response
{ "reason":"", "redirectUrl":"https://cdn-int.safecharge.com/safecharge_resources/v1/get_to_post/index.html?eyJhbGciOiJSUzI1NiJ9.eyJ1cmwiOiJodHRwczovL2NlYXBzcGFuZXguc2xwdWF0LmNvbS9Ib3N0ZWRGdW5kaW5nIiwiTWVtYmVyTnVtYmVyIjoiRTY3NzUzOUMwQzU0IiwiRmlyc3ROYW1lIjoiSkFWQVkiLCJMYXN0TmFtZSI6Ik1PU1FVRURBIiwiUGhvbmVOdW1iZXIiOiIzMDE4NTcyMTc1IiwiRW1haWwiOiJzZ2t1eS50eml6dEBlYWJlcS5icSIsIkFkZHJlc3MiOiIyMiBBdXRvbWF0aW9uIFN0ci4iLCJDaXR5IjoiQ2hpcHJvdmNpIiwiU3RhdGUiOiJNRCIsIkNvdW50cnkiOiJVUyIsIlBvc3RhbENvZGUiOiIzMjQyMSIsIklkZW50aXR5VG9rZW4iOiJjUUJrQUhjQVdBQnVBRTRBT1FCUkFFOEFRZ0JUQUcwQVJBQTFBR01BU2dCaUFHWUFaQUJsQUZFQVJnQkRBR29BWkFCV0FFb0FPQUJVQUZVQU53Qk9BRU1BTlFCWEFFc0FNd0ExQUhVQU1BQnNBRGdBU3dCakFHTUFaQUJxQUhVQVdBQk9BRVFBV2dCU0FFd0FVZ0JrQURZQWJnQnBBRU1BVVFCTkFIY0FTZ0JNQUZRQWJnQlBBRFVBYWdBMkFIb0FSQUJLQUhnQVVnQmxBRk1BTndCc0FIUUFNQUJvQUdzQWNRQTBBRzBBU3dBM0FIa0FWQUEyQUVFQVpBQlZBREFBU0FCdEFGb0FUQUJMQUVnQVRnQlBBRThBVEFBd0FHWUFMd0JpQUd3QU1BQlJBRElBU1FCQ0FGa0FVUUJuQUZVQVpBQmhBRFVBYkFCMEFHTUFUUUJJQUdRQU1nQlpBSFFBVEFCMEFHb0Fjd0JsQUZvQVl3QXdBSG9BV2dCNUFEUUFhUUJLQUNzQVdnQnZBR2dBZUFBMkFHOEFiZ0I2QUVRQVVRQk1BRGdBVlFCcEFISUFjZ0JUQUdNQWNRQTNBRUlBVGdCREFGQUFUZ0JSQUVZQWN3QkNBRElBTUFCWkFIZ0FVZ0JWQUc0QWNBQnZBRU1BUVFCMEFFRUFXZ0FyQUM4QVZ3QlhBRTRBYlFCb0FFd0FaUUIwQURjQVlnQkNBRVVBTndCeUFGWUFTQUF6QUZFQVNBQkdBR2dBYndCU0FGb0FkUUJUQURjQVVnQTJBRUVBZHdCNkFIVUFNUUJwQURJQWR3QkxBRVFBZHdCNkFHY0FUUUJuQUZNQU1nQmpBR29BT1FCRUFIQUFUd0J5QUZFQVZBQTFBRE1BU1FCckFFRUFkZ0JPQUd3QUt3QjBBRXdBV2dCUEFEQUFaZ0JNQURnQWFnQTNBRUVBYlFCMUFHc0FXUUE0QUVRQWVRQm9BREFBUVFCbkFEMEFQUUE9IiwiTWVyY2hhbnRJRCI6IlNhZmVDaGFyZ2VNZXJjaCIsIk1lcmNoYW50QXBwbGljYXRpb24iOiJTQ2gwMSIsIk1lcmNoYW50VHJhbnNhY3Rpb25JRCI6IjUwMTkxIiwiTWVyY2hhbnROYW1lIjoiU2lnaHRsaW5lIFBheW1lbnRzIiwiRE9CIjoiMTk5Mi0wNi0wMiIsIklkVHlwZSI6IjIiLCJJZFZhbHVlIjoiMDUzOTQyNjg0In0.WPa7Hpq0f-rsr5pDvVOtz3SmFUUZg1c1dHbd9_rf5lXMKpnv23SZsH_RwG1P0uu_5JaLQoE6yyVHJ7Q_l5FX-CzNZlcOYXYwOYagz7PmL9vtdMfN1Ey6p9Z8ANs9mtub8yy-GWOhFH_wvGaN4KGll_rT35MnorBiPEJnix_ZHqI0F42cNuUj9cqVLhbe-furAmWqpa7zhvPQ1MfQ3wCZx57KgM0F4iZ75HBxIYGf3U5XTrTjTrQvEENbMsqvqvWtxFmq240zrsOdHMC8vXJp29t5CdtZEzmeAZAAUNM8I7Mho_Mg-xRHgFsu5WmPp4qHBqds-GNKTYmubCzQocXtPg", "merchantId":"2502136204546424962", "clientUniqueId":"695701003", "errCode":0, "clientRequestId":"O3V96K7EV", "sessionToken":"72c9dab5-00b0-4d1b-8b24-a9b5e0a1a795", "internalRequestId":"17480361", "userId":"E677539C0C54", "version":"1.0", "status":"SUCCESS", "merchantSiteId":"126006" }
Example /fundAccount
ERROR Response
{ "reason":"User account operation failed", "clientRequestId":"OZFE5CLJB", "internalRequestId":"17480951", "userId":"E677539C0C54", "version":"1.0", "merchantSiteId":"126006", "merchantId":"2502136204546424962", "clientUniqueId":"695701003", "errCode":"9092", "paymentMethodErrorCode":"536870926", "paymentMethodErrorReason":"Access Denied | CERTSAFECHRGEAPI01 is not associated with CERTSAFECHRGE, or CERTSAFECHRGE does not exist.", "sessionToken":"40d7a7a2-fc58-4030-b820-9d9f441d1422", "status":"ERROR" }
REST Financial Transactions
You can use Nuvei REST API methods to perform the following financial transactions with the Play+ APM payment provider:
- Payment (deposit) transactions:
- Payment without UPO – Send a
/payment
request using the customer’s Play+ account details (no UPO). - Payment with an UPO – Send a
/payment
request using the customer’s existing UPO payment method (which represents the customer’s Play+ account).
- Payment without UPO – Send a
- Payout (withdrawal) transaction – Send a
/payout
request. - Refund – Send a
/refundTransaction
request.
Payment without UPO – REST
You can send REST API /payment requests, and include the additional Play+ parameters, as described in the steps below.
Step | Description |
---|---|
1 | Generate a sessionToken by sending a /getSessionToken request. |
2 | Use /getAccountDetails to retrieve details of the customer’s bank accounts enrolled (registered) in their Play+ account. |
3 | Display these bank accounts to the customer, for them to select a bank account. |
4 | Call the /payment request using sessionToken , userId from your internal systems, and the additional Play+ parameters to include shown below. |
5 | After processing the transaction, if a urlDetails.notificationUrl parameter was provided in the request, then Nuvei returns a DMN that includes the result of the transaction.See an example DMN Response below. |
Additional Parameters to Include
Include the following additional parameters in the paymentOption.alternativePaymentMethod
class, as shown below:
Parameter | Mandatory | Notes |
---|---|---|
paymentOption | Y | "apmgw_PlayPlus" |
paymentOption | Y | "Last 4 digits of the customer SSN "This is included in the alternativePaymentMethod , not the “user details”. |
userTokenId | Conditional | (Mandatory – Can use either userTokenId or userId but not both.)Use userTokenId if you use a UPO. Should contain the same value used for account creation.Up to 20 characters. |
userId | Conditional | (Mandatory – Can use either userTokenId or userId but not both.)The ID of the customer in the Merchant system. Use userId if you do not use a UPO.Should contain the same value used for account creation. Up to 20 characters. |
Example /payment
Request (without UPO)
{ "sessionToken":"<sessionToken from /getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "userTokenId": " <unique customer identifier in merchant system>, "clientUniqueId":"<unique transaction ID in merchant system>", "clientRequestId":"<unique request ID in merchant system>", "currency":"USD", "amount":"200", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod":"apmgw_PlayPlus", "sightline_ssn":"2684" } }, "billingAddress":{ "firstName":"John", "lastName":"Smith", "address":"22 Main Street", "cell":"6175553333", "phone":"6175551414", "zip":"02460", "city":"Boston", "country":"US", "state":"MA", "email":"[email protected]" }, "userDetails":{ "firstName":"John", "lastName":"Smith", "email":"[email protected]", "phone":"6175551414", "cell":"6175553333", "dateOfBirth":"2000-06-30", "address":"22 Main Street", "city":"Boston", "zip":"02460", "county":"Suffolk", "state":"MA", "country":"US", "language":"en", "identification":"123456789" }, "deviceDetails":{ "ipAddress":"<customer's IP address>" }, "urlDetails":{ "notificationUrl":"<URL to which DMNs are sent>" }, "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
Example /payment
Response (without UPO)
{ "reason":"", "orderId":"36234231", "transactionStatus":"APPROVED", "clientRequestId":"2LZ7D1LKJ", "internalRequestId":17661281, "version":"1.0", "transactionId":"2110000000004199287", "merchantSiteId":"126006", "merchantId":"2502136204546424962", "clientUniqueId":"BE4OUD9VR5RG", "errCode":0, "paymentOption":{ "userPaymentOptionId":"8042541", "card":{ } }, "sessionToken":"e8e32e0c-fef0-41d9-9eb1-72b69d0c27e4", "userTokenId":"E677539C0C54", "status":"SUCCESS" }
Example /payment
DMN Response (without UPO)
...'ppp_status=OK&Status=APPROVED&ExErrCode=0&ErrCode=0&errApmCode=0&errApmDescription=&errScCode=0&errScDescription=&Reason=&ReasonCode=0&PPP_TransactionID=36234231&userid=E677539C0C54&merchant_unique_id=BE4OUD9VR5RG&customData=Custom+Data%21&productId=&first_name=John&last_name=Smith&email=john.smith%40email.com¤cy=USD&clientUniqueId=BE4OUD9VR5RG&customField1=customField1-value&customField2=customField2-value&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=22+Automation+Str.+Updated.&address2=&country=United+States&state=&city=Boston+Updated&zip=CH+233242U&phone1=3459873345&phone2=&phone3=&client_ip=192.168.2.38&nameOnCard=&cardNumber=&bin=&acquirerId=&expMonth=&expYear=&Token=&tokenId=&AuthCode=2684&AvsCode=&Cvv2Reply=&shippingCountry=US&shippingState=&shippingCity=Shipping+City+Updated&shippingAddress=33+Shipping+Str.+Updated.&shippingZip=SDC+33334U&shippingFirstName=john&shippingLastName=Uvnoirngbg&shippingPhone=359888576900&shippingCell=359887576903&shippingMail=gmwch.bphmv%40ducdb.qz&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=126006&merchant_status=&action=&requestVersion=&message=APPROVED&merchantLocale=&unknownParameters=&payment_method=apmgw_PlayPlus&ID=&merchant_id=2502136204546424962&responseTimeStamp=2021-07-28.11%3A29%3A39&buyButtonProductId=&webMasterId=VB7BKRDSEEDI&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=E677539C0C54&userPaymentOptionId=8042541&TransactionID=2110000000004199287&externalTransactionId=b166096c-6e4f-4437-8efb-ea53da3f5f1e&APMReferenceID=3C2EC9B835DD7CF948E4C894AAD4C12B&orderTransactionId=18075011&totalAmount=10.00&dynamicDescriptor=MerchantNameDescriptor123456789101112131415&item_name_1=Item+1U&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=20210709&shippingCounty=SCountyU&type=DEPOSIT&clientRequestId=2LZ7D1LKJ&relatedTransactionId=&responsechecksum=4981a58a05cca78d21e1ad0cb570e9b1&advanceResponseChecksum=b281386292c67407e40d551717898009',
Payment with UPO – REST
You can send REST API /payment
requests, and include the existing UPO payment method, which is linked to the customer’s Play+ account, as described in the steps below.
Step | Description |
---|---|
1 | Generate a sessionToken by sending a /getSessionToken request. |
2 | Use /getAccountDetails to retrieve details of the customer’s bank accounts enrolled (registered) in their Play+ account. |
3 | Display these bank accounts to the customer, for them to select a bank account. |
4 | Call the /payment request using sessionToken , userTokenId , and the existing userPaymentOptionId (UPO payment method), which is linked to the customer’s Play+ account, as shown below.For further assistance, contact a member of Nuvei’s technical team. |
5 | After processing the transaction, if urlDetails.notificationUrl was provided in the request, then Nuvei returns a DMN that includes the result of the transaction.See an example DMN Response below. |
Example /payment
Request (with UPO)
{ "sessionToken":"<sessionToken from /getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "userTokenId":"<unique customer identifier in merchant system>", "clientUniqueId":"<unique transaction ID in merchant system>", "clientRequestId":"<unique request ID in merchant system>", "currency":"USD", "amount":"200", "paymentOption":{ "userPaymentOptionId":"8042541" }, "billingAddress":{ "firstName":"John", "lastName":"Smith", "address":"22 Main Street", "cell":"6175553333", "phone":"6175551414", "zip":"02460", "city":"Boston", "country":"US", "state":"MA", "email":"[email protected]" }, "userDetails":{ "firstName":"John", "lastName":"Smith", "email":"[email protected]", "phone":"6175551414", "cell":"6175553333", "dateOfBirth":"2000-06-30", "address":"22 Main Street", "city":"Boston", "zip":"02460", "county":"Suffolk", "state":"MA", "country":"US", "language":"en" }, "deviceDetails":{ "ipAddress":"<customer's IP address>" }, "urlDetails":{ "notificationUrl":"<URL to which DMNs are sent>" }, "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
Example /payment
Response (with UPO)
{ "reason":"", "orderId":"36241241", "transactionStatus":"APPROVED", "clientRequestId":"LUXOQ6ECZ", "internalRequestId":17696741, "version":"1.0", "transactionId":"2110000000004209142", "merchantSiteId":"126006", "merchantId":"2502136204546424962", "clientUniqueId":"XXZKDBYGEDWO", "errCode":0, "paymentOption":{ "userPaymentOptionId":"8042541", "card":{ } }, "sessionToken":"763cfe0b-a239-41ae-8139-48c7f2e47367", "userTokenId":"E677539C0C54", "status":"SUCCESS" }
Example /payment
DMN Response (with UPO)
...'ppp_status=OK&Status=APPROVED&ExErrCode=0&ErrCode=0&errApmCode=0&errApmDescription=&errScCode=0&errScDescription=&Reason=&ReasonCode=0&PPP_TransactionID=36241241&userid=E677539C0C54&merchant_unique_id=XXZKDBYGEDWO&customData=Custom+Data%21&productId=&first_name=John&last_name=Smith&email=jhahn.jhnui%40srzaw.cb¤cy=USD&clientUniqueId=XXZKDBYGEDWO&customField1=customField1-value&customField2=customField2-value&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=340689+Billing+Str.+Updated.&address2=&country=United+States&state=&city=Billing+City+Updated&zip=BNE+4895U&phone1=359888797070&phone2=&phone3=&client_ip=192.168.2.38&nameOnCard=&cardNumber=&bin=&acquirerId=&expMonth=&expYear=&Token=&tokenId=&AuthCode=2684&AvsCode=&Cvv2Reply=&shippingCountry=US&shippingState=&shippingCity=Shipping+City+Updated&shippingAddress=33+Shipping+Str.+Updated.&shippingZip=SDC+33334U&shippingFirstName=john&shippingLastName=Uvnoirngbg&shippingPhone=359888576900&shippingCell=359887576903&shippingMail=gmwch.bphmv%40ducdb.qz&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=126006&merchant_status=&action=&requestVersion=&message=APPROVED&merchantLocale=&unknownParameters=&payment_method=apmgw_PlayPlus&ID=&merchant_id=2502136204546424962&responseTimeStamp=2021-07-30.06%3A03%3A27&buyButtonProductId=&webMasterId=8WQVRHRUHT7D&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=E677539C0C54&userPaymentOptionId=8042541&TransactionID=2110000000004209142&externalTransactionId=723adaf0-185b-4118-afac-26fd3ec937ba&APMReferenceID=E2E47275310CC939863815B0A6ECAD20&orderTransactionId=18076831&totalAmount=10.00&dynamicDescriptor=MerchantNameDescriptor123456789101112131415&item_name_1=Item+1U&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=20210709&shippingCounty=SCountyU&type=DEPOSIT&clientRequestId=LUXOQ6ECZ&relatedTransactionId=&responsechecksum=ff4e34fec4c9c83bfa184e4e606ca989&advanceResponseChecksum=54182705431a578e4898a1385d527e48',
Payout – REST
You can send REST API /payout
requests (withdrawal transactions) for Play+, as described in the steps below.
Step | Description |
---|---|
1 | Generate a sessionToken by sending a /getSessionToken request. |
Use /getAccountDetails to retrieve details of the customer’s bank accounts enrolled (registered) in their Play+ account. |
|
Display these bank accounts to the customer, for them to select a bank account. | |
2 | Call the /payout request and include the userPaymentOptionId returned in the response of payment request, (or the DMN returned by the payment request).See an example /payout request below. For further assistance, contact a member of Nuvei’s Technical Team. |
3 | After processing the transaction, if urlDetails.notificationUrl was provided in the request, then Nuvei returns a DMN that includes the result of the transaction. |
Example /payout
Request
{ "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "userTokenId": "<unique customer identifier in merchant system>", "clientUniqueId":"<unique transaction ID in merchant system>", "clientRequestId":"<unique request ID in merchant system>", "currency":"USD", "amount":"200", "userPaymentOption":{ "userPaymentOptionId":"8042761" }, "deviceDetails":{ "ipAddress":"<customer's IP address>" }, "urlDetails":{ "notificationUrl":"<URL to which DMNs are sent>" }, "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
Example /payout
Response
{ "reason":"", "transactionStatus":"APPROVED", "clientRequestId":"P5S49XKXW", "internalRequestId":17661371, "merchantDetails":{ "customField1":"customField1-value", "customField2":"customField2-value" }, "version":"1.0", "transactionId":"2110000000004199304", "merchantSiteId":"126006", "merchantId":"2502136204546424962", "clientUniqueId":"695701003", "errCode":0, "userPaymentOptionId":"8042761", "paymentMethodErrorCode":"0", "userTokenId":"G480LNG2WYJ7", "externalTransactionId":"2110000000065431", "status":"SUCCESS" }