ATM Permata Cash Out

Permata CashOut is one of the Faspay SendMe (disbursement) features that serve to conduct cash withdrawal transactions at Permata ATMs. The increasing number of money withdrawal options through Permata ATMs, could increase profit opportunities and expand market segmentation.

Flow Permata CashOut

Flow CashOut Reservation

API Services

Transfer

This service serves to create transactions from Merchants to Faspay. This service is used to process funds transfer from a Merchant account to a beneficiary.

Transfer Request

  • Relative URL : /account/API/transfer

  • Method : HTTP POST

The parameters that must be provided by the Merchant system to be accessed by the Faspay system are as follows:

ParameterData TypeLengthM/O/CDescription

virtual_account

Numeric

20

Mandatory

Virtual Account Number Merchant

beneficiary_bank_code

Alphanumeric

4

Mandatory

Beneficiary Bank Code

alf : Alfamart

Imr: Indomaret

C013: Permata CashOut

beneficiary_name

Alphanumeric

255

Mandatory

Beneficiary name

trx_no

Alphanumeric

255

Mandatory

Transaction number (from Merchant)

beneficiary_phone

Numeric

15

Mandatory

Beneficiary phone

trx_amount

Numeric

12

Mandatory

Total amount, ex : 100.000 - 150000000

Amount must be multiple of 100000.

callback_url

Alphanumeric

255

Mandatory

URL for callback/notification, used to notify the merchant.

trx_desc

Alphanumeric

27

Mandatory

Description, If the user input is more than 27 characters, it will be cut into 27 characters

Transfer Response

ParameterData TypeLengthM/O/CDescription

virtual_account

Numeric

20

Mandatory

Virtual Account Number Merchant

beneficiary_bank_code

Alphanumeric

4

Mandatory

Beneficiary Bank Code

alf: Alfamart

imr: Indomaret

C013: Permata CashOut

beneficiary_phone

Numeric

15

Mandatory

Beneficiary phone

trx_no

Numeric

255

Mandatory

Transaction number (from Merchant)

trx_date

Datetime (yyyy-mm-dd)

Mandatory

Transaction date time

trx_expired

Datetime (yyyy-mm-dd)

Mandatory

Transaction expired,

- null : expired date within 24 hours (depending on the Merchant)

instruct_date

Datetime (yyyy-mm-dd)

Mandatory

Transfer instruction date

trx_amount

Numeric

12

Mandatory

Total amount, ex : 100.000 - 150000000

Amount must be multiple of 100000.

trx_desc

Alphanumeric

27

Optional

Description, If the user input is more than 27 characters, it will be cut into 27 characters

callback_url

Alphanumeric

255

Mandatory

URL for callback/notification, used to notify the merchant.

beneficiary_account_name

Alphanumeric

255

Mandatory

Beneficiary account name

trx_id

Numeric

16

Mandatory

ID Transaction

trx_reff

Alphanumeric

255

Mandatory

Reference of transaction number on system disbursement

cashout_code

Alphanumeric

255

Mandatory

Cashout code for the beneficiary to claim. The code will be encrypted using a private key generated by Faspay. So, merchant need to decrypt the code using public key also generated by Faspay, before display or send it to beneficiary.

status

Numeric

1

Mandatory

List Status Transaction :

1 = On Process,

2 = Success,

4 = Failed,

5 = Reverse

message

Alphanumeric

255

Mandatory

Message Description

response_code

Numeric

2

Mandatory

Response code from bank (00 = success)

response_desc

Alphanumeric

255

Mandatory

Response description from bank

Decrypting Cashout Code

At transfer response, cashout_code that has been received by merchant is in chipertext format, so merchant need to decrypting the code using openssl_public_decrypt method to change the cashout_code into plain text. To decrypting the cashout_code into 10 digit plain text it can be done by the steps as follows:

  1. Merchant receive public key from Faspay

  2. Decode the cashout_code using base64_decode method

  3. Decrypting the cashout_code using openssl_public_decrypt method and public key that has been merchant received before

  4. Merchant get 10 digit plain text of cashout_code

Sample Code Decrypting Cashout Code

public function dec_cashout_code($encrydata){
        $filename = "public.crt";
        $data = base64_decode($encrydata);
        $public_key = file_get_contents($filename, true);
        openssl_public_decrypt($data,$plaintext,$public_key);
        return $plaintext;
}

Last updated