Skip to content

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

  1. The customer initiates the payment on the merchant's website.
  2. The merchant displays a phone number submission form to the customer.
  3. The customer submits their mobile phone number.
  4. The merchant sends the payment request to PaySage.io.
  5. PaySage.io sends the response with the pending status.
  6. The merchant displays an OTP (one-time password) submission form to the customer.
  7. The customer receives an SMS message with the one-time password.
  8. The customer enters the OTP on the merchant's website and confirms the payment.
  9. The merchant sends the transaction confirmation request to PaySage.io. The request contains the OTP submitted by the customer.
  10. The PaySage.io sends the response to the confirm request.
  11. PaySage.io sends a webhook notification with the payment status to the merchant. The merchant may also request the payment status from PaySage.io with the status query.
  12. 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.paysage.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.paysage.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 to false.
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.