• Documentation
  • API Reference
  • Documentation
  • API Reference
Expand All Collapse All
< BACK TO HOME
  • APMs Overview
    • Introduction to APMs
    • APM Integrations and Flows
    • APM Input Fields and APIs
    • APM subMethod Class
    • Account Details Capture
    • APM Countries and Currencies
    • Handling In-Process WebView
  • Global Guides
    • Afterpay
    • Apple Pay
      • Registering with Apple Pay
        • (Manually) Register in the Apple System
          • Create an Apple ID
          • Enroll in the Apple Developer Program
            • Submit an Enrollment Request
            • Complete the Enrollment Process
            • Activate your Apple Developer Program Account
          • Register a Merchant ID in the Apple System
            • Create a Merchant ID
            • Create a Payment Processing Certificate
            • Create a Merchant Identity Certificate
            • Register and Verify Your Domain
      • Nuvei Apple Pay Implementations
        • Payment Page using IFrame
        • Static Apple Pay Button
        • Static Pay Button (Web SDK)
        • Dynamic Apple Pay Button
      • Apple Pay Integration
        • Apple Pay (REST API)
        • Apple Pay (Web SDK)
        • Apple Pay (Simply Connect)
        • Apple Pay Integration Testing
    • Google Pay
      • Google Pay (REST API)
      • Google Pay (Web SDK)
      • Google Pay (Simply Connect)
    • Neteller
    • PayPal
    • PayWithCrypto
    • Skrill
    • Visa Checkout
      • Visa Checkout (REST API)
  • US and Canada Guides
    • ACH
    • Instant Bank Transfer (IBT)
    • Interac Combined
    • Interac eCashout
    • Interac e-Transfer
    • Interac Instant
    • Mazooma
    • PayNearMe
    • PlayPlus
      • PlayPlus (REST)
      • PlayPlus (Web SDK)
    • VIP Preferred
      • VIP Preferred (REST)
      • VIP Pref. (Web SDK/Simply Connect)
  • Europe Guides
    • Aircash
    • BANCOMAT Pay
    • Clearpay
    • Giropay
    • iDEAL
    • MB WAY
    • MobilePay
    • Okto Cash
    • Open Banking
    • PaySafeCard
    • Satispay
    • SEPA Payouts
    • Sofort
  • Latin America Guides
    • CLAVE
    • Colombia Payouts
    • Daviplata
    • Efecty
    • LATAM Payouts
    • Pay4Fun
    • Pay with Cash
    • PIX
    • PIX Payouts
    • PSE
    • QR Redeban
    • STPmex
    • WebPay
  • Asia Pacific Guides
    • AlipayHK
    • Dana
    • DragonPay
    • GCash
    • India Payouts
    • KakaoPay
    • Konbini
    • Local Payments Indonesia
    • NPP
    • QRIS
    • Touch ’n Go
    • TrueMoney
    • WeChat

Okto Cash

Home    Okto Cash

On this page:
  • Introduction
  • Supported Countries
  • Supported Currencies
  • Payment (Deposit) Flow
  • User Experience
  • Testing
Attributes
  • 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

Users in Romania following a regulated flow must agree to additional terms of use before the payment flow is initiated:

Press tab to open…

  • for REST API
  • for 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 /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 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.

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, 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.

User Experience

  1. The user is redirected to a page with a barcode or QR code (Greece and Cyprus) or barcode (Italy and Romania).
  2. The user presses the link to locate the nearest POS where the payment can be made.
    Background pattern Description automatically generated with medium confidence
  3. The user goes to the nearest POS location and presents the pay code.
  4. The store merchant scans (or enters) the pay code.
  5. 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.

    • Language fr
  • Terms of use
  • Privacy Policy
Nuvei. All rights reserved.