Mobile Commerce
This payment method lets the customer make a payment using their mobile phone balance.
IS Integration option
Info
This integration option supports only KZT currency.
Payment flow
- The customer initiates the payment on the merchant's website.
- The merchant displays a phone number submission form to the customer.
- The customer submits their mobile phone number.
- The merchant sends the payment request to Overpay.
- Overpay sends the response with the pendingstatus.
- The merchant displays an OTP (one-time password) submission form to the customer.
- The customer receives an SMS message with the one-time password.
- The customer enters the OTP on the merchant's website and confirms the payment.
- The merchant sends the transaction confirmation request to Overpay. The request contains the OTP submitted by the customer.
- The Overpay sends the response to the confirm request.
- Overpay sends a webhook notification with the payment status to the merchant. The merchant may also request the payment status from Overpay with the status query.
- The merchant displays the final payment status to the customer.
Payment
Request
Send a payment request with the following additional parameters:
| Parameter | Type | Description | 
|---|---|---|
| request | object | |
| return_url * required | string | A URL to return the customer to when a transaction is completed. | 
| method | object | A section of the payment method information. | 
| type * required | string | mobile_commerce. | 
| account_number * required | string (11) | The customer's phone number, 11 digits without spaces and without special symbols. | 
Request example
{
    "request": {
        "amount": 1002,
        "currency": "KZT",
        "description": "test",
        "test": false,
        "tracking_id": "31765111-a44a-43f1-93f0-b70f81b97f9e",        
        "language": "en",        
        "return_url": "https://your-success.url",        
        "method": {
            "type": "mobile_commerce",
            "account_number": "12345678901"
        }
    }
}
Response
Response example
{
    "transaction": {
        "uid": "113fe130-3b11-11eb-11db-114b205ca951",
        "type": "payment",
        "status": "pending",
        "amount": 1002,
        "currency": "KZT",
        "description": "test",
        "created_at": "2025-04-26T07:15:00Z",
        "updated_at": "2025-04-26T07:15:00Z",
        "method_type": "mobile_commerce",
        "receipt_url": "https://backoffice.overpay.io/customer/transactions/a73fe130-3b66-45eb-80db-674b205ca951/628507edc0c73886eb09f6c6309fe599f0dbad33d392ffaac87bb415a801b4dc?language=en",
        "payment": {
            "status": "pending",
            "gateway_id": 5290,
            "ref_id": "18d28c32-c3f6-4acc-ba09-268b12ec7637",
            "message": "Transaction was initialized. Need approve."
        },
        "mobile_commerce": {
            "type": "mobile_commerce",
            "account_number": "12345678901"
        },
        "customer": {
            "email": null,
            "ip": null
        },
        "manually_corrected_at": null,
        "version": 0,
        "message": "Transaction was initialized. Need approve.",
        "tracking_id": "31765111-a44a-43f1-93f0-b70f81b97f9e",
        "test": false,
        "language": "en",
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },       
        "gateway": {
            "iframe": false
        }
    }
}
Transaction confirmation
Request
Send a confirmation request specifying the uid of the corresponding payment transaction as the path parameter
POST https://api.overpay.io/beyag/transactions/{uid}/confirm
Specify the following parameters in the request body:
| Parameter | Type | Description | 
|---|---|---|
| request | object | |
| skip_duplicate_check | boolean | If false, declines a request if the request with the same uid was sent within 30 seconds prior to it. By default, set tofalse. | 
| password * required | string | The one-time password submitted by the customer. | 
Request example
{
    "request": {            
        "password": "5576"
    }
}
Response
Response example
{
    "transaction": {
        "parent_uid": "113fe130-3b11-11eb-11db-114b205ca951",
        "type": "confirm",
        "status": "successful",
        "message": "Confirm was successfully processed.",
        "created_at": "2025-04-25T07:20:44+00:00",
        "amount": 1002,
        "currency": "KZT"
    }
} 
Refund
Request
Send a standard refund request. The amount value must equal the amount of the parent transaction.
Payout
Request
Send a payout request with the following additional data:
| Parameter | Type | Description | 
|---|---|---|
| request | object | |
| method | object | A section of the payment method information. | 
| type * required | string | mobile_commerce. | 
| account_number * required | string (11) | The phone number of the payout recipient, 11 digits without spaces and without special symbols. | 
Request example
{
  "request": {
    "amount": 2200,
    "currency": "KZT",
    "description": "test",
    "test": true,
    "tracking_id": "11-21212",
    "method": {
      "type": "mobile_commerce",
      "account_number": "12345678902"
    }
  }
}
Response
Response example
{
  "transaction": {
    "uid": "e785bbf1-dab2-4885-a42a-6de88d8bf999",
    "type": "payout",
    "status": "pending",
    "amount": 2200,
    "currency": "KZT",
    "description": "test tes test",
    "created_at": "2025-05-23T11:47:30Z",
    "updated_at": "2025-05-23T11:47:30Z",
    "manually_corrected_at": null,
    "method_type": "mobile_commerce",
    "receipt_url": "https://backoffice.overpay.io/customer/transactions/e785bbf1-dab2-4885-a42a-6de88d8bf999/1f2674fcf1c2a1b36d169218ea8797ead51516e1bc867033ba332e44011c62b5?language=en",
    "payout": {
      "status": "pending",
      "gateway_id": 5290,
      "ref_id": "42aa067d-f163-4a8c-b61a-5692da4e839c",
      "message": "Transaction was initialized."
    },
    "mobile_commerce": {
      "type": "mobile_commerce",
      "account_number": "12345678902"
    },
    "customer": {
      "email": null,
      "ip": null
    },
    "version": 0,
    "message": "Transaction was initialized.",
    "tracking_id": "52b77ae9-5f78-42a7-b715-e132896ed888",
    "test": false,
    "language": "en",
    "billing_address": {},
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    }
  }
}