- METHOD TYPEVoucher
- PAYMENTS
- PAYOUTS
- REFUNDS
Introduction
OKTO Cash is an e-voucher service that allows users to load their accounts that are held with a collaborating merchant safely, securely and in real-time, by paying in cash at a partnering point of sale (POS) system (such as a store or a market).
The solution enables users to pay for a product or a service online and then pay in cash at the nearest POS, by scanning a unique pay code (GS1 barcode or QR code).
Supported Countries
- Cyprus
- Greece
- Italy
- Romania
Supported Currencies
- EUR
- RON
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
block containing:paymentMethod
: “apmgw_OKTO_CASH“
deviceDetails
block containing:ipAddress
billingAddress
block containing:firstName
,lastName
,country
,email
userDetails
block containing:firstName
,lastName
,country
,email
For customers in Romania, the following additional parameters must be sent in the userDetails
block:
firstName
, lastName
, dateOfBirth
, email
, phone
, and identification
.
Example /payment
Request
{ "sessionToken":"<sessionToken from getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientRequestId":"<unique request ID in merchant system>", "amount":"200", "currency":"RON", "userTokenId":"<unique customer identifier in merchant system>", "clientUniqueId":"<unique transaction ID in merchant system>", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod":"apmgw_OKTO_CASH" } }, "deviceDetails":{ "ipAddress":"<customer's IP address>" }, "billingAddress":{ "firstName": "John", "lastName": "Smith", "country":"RO", "email":"john.smith@email.com", }, "userDetails":{ "firstName": "John", "lastName": "Smith", "country":"RO", "email":"john.smith@email.com" }, "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
After the transaction is processed, the user receives a Direct Merchant Notification (DMN) (sent to the notificationUrl
parameter you can provide in the request) that includes the result of the transaction.
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 /openOrder
API 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_OKTO_CASH“
deviceDetails
block containing:ipAddress
billingAddress
block containing:firstName
,lastName
,country
,email
userDetails
block containing:firstName
,lastName
,country
,email
For customers in Romania, the following additional parameters must be sent in the userDetails
block:
firstName
, lastName
, dateOfBirth
, email
, and identification
.
Example createPayment()
Request
sfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_OKTO_CASH", } }, deviceDetails : { ipAddress : "<customer's IP address>" }, billingAddress : { firstName: "John", lastName: "Smith", country : "RO", email:"john.smith@email.com" }, userDetails : { firstName: "John", lastName: "Smith", country : "RO", email:"john.smith@email.com" }, }, function(res) { console.log(res); });
After the transaction is processed, the user receives a Direct Merchant Notification (DMN) (sent to the notificationUrl
parameter you can provide in the request) that includes the result of the transaction.
- for 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
/payment
request with its mandatory parameters including:userTokenId
amount
currency
paymentOption.alternativePaymentMethod
block containing:paymentMethod
: “apmgw_OKTO_CASH“
deviceDetails
block containing:ipAddress
billingAddress
block containing:firstName
,lastName
,country
,email
userDetails
block containing:firstName
,lastName
,country
,email
For customers in Romania, the following additional parameters must be sent in the
userDetails
block:
firstName
,lastName
,dateOfBirth
,email
,phone
, andidentification
.Example
/payment
Request{ "sessionToken":"<sessionToken from getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientRequestId":"<unique request ID in merchant system>", "amount":"200", "currency":"RON", "userTokenId":"<unique customer identifier in merchant system>", "clientUniqueId":"<unique transaction ID in merchant system>", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod":"apmgw_OKTO_CASH" } }, "deviceDetails":{ "ipAddress":"<customer's IP address>" }, "billingAddress":{ "firstName": "John", "lastName": "Smith", "country":"RO", "email":"john.smith@email.com", }, "userDetails":{ "firstName": "John", "lastName": "Smith", "country":"RO", "email":"john.smith@email.com" }, "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
After the transaction is processed, the user receives a Direct Merchant Notification (DMN) (sent to the
notificationUrl
parameter you can provide in the request) that includes the result of the transaction. - for 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
/openOrder
API 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_OKTO_CASH“
deviceDetails
block containing:ipAddress
billingAddress
block containing:firstName
,lastName
,country
,email
userDetails
block containing:firstName
,lastName
,country
,email
For customers in Romania, the following additional parameters must be sent in the
userDetails
block:
firstName
,lastName
,dateOfBirth
,email
, andidentification
.Example
createPayment()
Requestsfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_OKTO_CASH", } }, deviceDetails : { ipAddress : "<customer's IP address>" }, billingAddress : { firstName: "John", lastName: "Smith", country : "RO", email:"john.smith@email.com" }, userDetails : { firstName: "John", lastName: "Smith", country : "RO", email:"john.smith@email.com" }, }, function(res) { console.log(res); });
After the transaction is processed, the user receives a Direct Merchant Notification (DMN) (sent to the
notificationUrl
parameter you can provide in the request) that includes the result of the transaction.
User Experience
- The user is redirected to a page with a barcode or QR code (Greece and Cyprus) or barcode (Italy and Romania).
- The user presses the link to locate the nearest POS where the payment can be made.
- The user goes to the nearest POS location and presents the pay code.
- The store merchant scans (or enters) the pay code.
- After receiving the money from the user, the store merchant executes a deposit and the player’s Okto account is instantly credited with the amount.
The user receives an email with confirmation along with all the payment details.
Testing
The merchant should contact Nuvei to complete the deposit testing.