Introduction

Streamline Retail Payments at Alfamart, Indomaret, and More with our API. Effortlessly integrate our API with popular retail chains to simplify payment processes. Enable seamless payment acceptance at Alfamart, Indomaret, and other supported retailers, providing convenient options for your customers


Channel List

List of supported Channel in Retail:

Channel

Name

alfamartAlfamart
indomaretIndomaret

POST{{HOST}}/retail

Request

You need to authenticate your requests to access any endpoint in the 98Pays API.

Request

  • Name
    reference
    Type
    mandatory
    Description

    A unique reference number or identifier for the transaction. all transaction references should be unique.

  • Name
    phoneNumber
    Type
    mandatory
    Description

    Transaction bills will be sent to this telephone number

  • Name
    channel
    Type
    mandatory
    Description

    A type of e-wallet to be used for the transaction. you can find the list of ewallet above the table.

  • Name
    amount
    Type
    mandatory
    Description

    Amount your user should paid to complete the transaction

  • Name
    expiryMinutes
    Type
    opsional
    Description

    If you want the transaction to last for 1 hour, you would set the value of the expiryMinutes parameter to 60.

  • Name
    viewName
    Type
    mandatory
    Description

    The name or identifier of the receiver for the transaction.

  • Name
    additionalInfo.callback
    Type
    mandatory
    Description

    The callback URL where notifications or updates related to the transaction will be sent.

Request Json

POST
{{HOST}}/retail
<?php
    $curl = curl_init();
    curl_setopt_array($curl, array(
    CURLOPT_URL => '{{HOST}}/retail',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS =>'{
        "reference": "REFF012",
        "phoneNumber":"08123456789",
        "channel":"alfamart",
        "amount": 10000,
        "expiryMinutes": 30,
        "viewName": "Merchant Name",
        "additionalInfo": {
            "callback": "http://your-site-callback.com/notify",
        }
    }',
    CURLOPT_HTTPHEADER => array(
        'X-Client-Key: ',
        'X-Client-Token: ',
        'X-Signature: '
    ),
    ));

    $response = curl_exec($curl);

    curl_close($curl);
    echo $response;

Response Details

  • Name
    responseCode
    Description

    The HTTP response code indicating the status of the request. See the Error Codes section for details.

  • Name
    responseMessage
    Description

    A descriptive message indicating the status of the request.

  • Name
    responseData
    Description

    An object containing the data related to the transaction response.

  • Name
    responseData.id
    Description

    98Pays unique identifier for the transaction.

  • Name
    responseData.status
    Description

    The current status of the transaction. success, pending, expired, failed.

  • Name
    responseData.feePayer
    Description

    The party responsible for paying the transaction fee. customer or merchant.

  • Name
    responseData.amount
    Description

    The original amount associated with the transaction.

  • Name
    responseData.fee
    Description

    The fee charged for the transaction.

  • Name
    responseData.totalAmount
    Description

    The total amount (original amount + fee) for the transaction.

  • Name
    responseData.expiredDate
    Description

    The date and time when the transaction will expire.

  • Name
    responseData.additionalInfo.callback
    Description

    The callback URL where notifications or updates related to the transaction will be sent.

  • Name
    responseData.retail.viewName
    Description

    The name or identifier associated.

  • Name
    responseData.retail.channel
    Description

    The channel representing the e-wallet to be used for the transaction.

  • Name
    responseData.retail.paymentCode
    Description

    The identifier associated with the retail. This number will be informed by customer to the retail cassier.

  • Response Json

    POST
    {{HOST}}/retail
    {
        "responseCode": 200,
        "responseMessage": "success",
        "responseData": {
            "id": "66e934f6-f5d6-4f1c-bb3d-450ec2873782",
            "merchantRef": "REFF012",
            "status": "pending",
            "feePayer": "customer",
            "amount": 10000,
            "fee": 85,
            "totalAmount": 10085,
            "expiredDate": "2025-03-23T10:24:58+07:00",
            "additionalInfo": {
                "callback": "http://your-site-callback.com/notify"
            },
            "retail": {
                "viewName": "Merchant Name",
                "channel": "alfamart",
                "paymentCode": "12345678901"
            }
        }
    }
    

    Was this page helpful?