Bill Payment

Signature

Signature adalah kode unik yang digunakan untuk menjaga keamanan dan keaslian data saat terjadi transaksi. Signature dibuat menggunakan algoritma kriptografi seperti RSA dan SHA-256. Setiap menerima request, Espay akan melakukan validasi terhadap signature yang diterimanya, untuk memastikan data transaksi berasal dari Anda dan tidak diubah saat proses transmissi.

Setiap layanan Espay memiliki format parameter yang berbeda-beda dalam pembuatan signature-nya. Berikut ini format kombinasi parameter beserta layanannya:

Layanan Kombinasi
Bill Inquiry
sender_id + Order id + product_code + rq_uuid + key
Bill Payment
sender_id + order_id + product_code + amount + rq_uuid + key
Inquiry Bill Payment Status
Sender id + Referensi ID + Rq uuid + Key
Balance
Sender ID + Rq uuid + Key
Komponen Signature
Komponen Keterangan
Amount
Total tagihan yang harus dibayar.

Format:
Desimal (,00)

Contoh:
150.000,00
Key
API Key yang diberikan oleh tim Espay.
Order id
Kode unik untuk identifikasi transaksi.

Contoh:
Nomor handphone, nomor kartu kredit, customer id, dll.
Referensi ID
ID referensi dari Espay yang terdapat pada response Bill Payment.
Rq uuid
Request identifier. ID unik yang digunakan untuk mengidentifikasi pesan.

Format:
Sender_id + Unik ID

Contoh:
SENDERID123ABC-DEF456
Sender id
Kode identitas merchant yang diberikan oleh tim Espay.

Berikut ini langkah-langkah untuk membuat signature berdasarkan kebutuhan layanan yang digunakan:

  1. Gabungkan kombinasi signature yang sudah ditentukan oleh Espay menggunakan "##".
  • Contoh Layanan Bill Inquiry
Format kombinasi
##sender_id##Order id##product_code##rq_uuid##key##
##SENDERID##9900990099##STCKAI##5441217##keyforsignature##
  1. Ubah kombinasi yang sudah disatukan pada langkah 1, menjadi Uppercase.
  • Contoh Layanan Bill Inquiry
Format sebelum uppercase
##SENDERID##9900990099##STCKAI##5441217##keyforsignature##
Format setelah uppercase
##SENDERID##9900990099##STCKAI##5441217##KEYFORSIGNATURE##
  1. Ubah format menggunakan hash dengan algoritma SHA-256.
  • Contoh Layanan Bill Inquiry
Format sebelum hash SHA-256
##SENDERID##9900990099##STCKAI##5441217##KEYFORSIGNATURE##
Format setelah hash SHA-256
bad06402f42b1244c88e3c2da24543e5708a96322819af6cc08b809d8aab5405

Try It!

Anda bisa coba masukkan data sesuai dengan input yang telah disediakan. Setelah itu Anda submit dan lihat hasilnya!

Request

Value

Response



PHP

$data = strtoupper('##SENDERID##9900990099##STCKAI##5441217##keyforsignature##');
$signature = hash('sha256', $data);
      
            


JAVA


import java.io.FileInputStream;
import java.security.MessageDigest;
/**
*
* @author root
*/
public class SHACheckSumExample {
    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) throws Exception{
    
        // TODO code application logic here
        String password ="##SENDERID##9900990099##STCKAI##5441217##keyforsignature##";
        Confidential © Espay Page 23 of 27 PT.Square Gate One
        String data = password.toUpperCase();
        System.err.println(data);
        MessageDigest md = MessageDigest.getInstance("SHA-256");
        md.update(data.getBytes());
        byte byteData[] = md.digest();
               
        //convert the byte to hex format method 1
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < byteData.length; i++) {
            sb.append(Integer.toString((byteData[i] & 0xff) + 0x100,16).substring(1));
        }
        
        System.out.println("Hex format : " + sb.toString());
    }
}
          



Scroll to Top