Registration
Ringkasan
Layanan ini digunakan untuk memungkinkan pengguna melakukan pengikatan akun Paydia melalui platform pedagang. Informasi rinci akan dijelaskan pada bagian selanjutnya.
Spesifikasi API Paydia akan mencakup 1 titik utama, yaitu:
No | Nama API | Deskripsi |
---|---|---|
1 | Dapatkan URL OAuth | API ini digunakan untuk menghasilkan URL pengalihan OAuth ke Paydia untuk memulai proses pengikatan akun di mana pengguna akan dapat mendaftar/masuk dari halaman Paydia |
Pembuatan dan Validasi Signature
Berikut akan dijelaskan tentang Pembuatan dan validasi Signature.
Simetris dengan Token Akses B2B (HMAC_SHA512)
Langkah-langkah berikut akan menjelaskan tentang Simetris dengan Token Akses B2B (HMAC_SHA512).
Pembuatan Signature Digital
Terapkan Signature B2B Token
- Composisi string yang akan ditandatangani:
- String Signature dihasilkan dari string yang akan ditandatangani di atas dengan menerapkan enkripsi SHA-256 dengan kunci pribadi pkcs8, dan kemudian kodekan hasilnya ke base64.
- Letakkan string Signature ke header HTTP “X-SIGNATURE“ saat memanggil API untuk menerapkan token akses B2B.
X-CLIENT-KEY + "|" + X-TIMESTAMP |
Signature Transaksi
- Composisi string yang akan ditandatangani:
- String Signature dihasilkan dari string yang akan ditandatangani di atas dengan menerapkan penyandian HMAC_SHA512 menggunakan kunci rahasia yang diberikan oleh Paydia, dan kemudian kodekan hasilnya ke base64.
- Letakkan string Signature ke header HTTP “X-SIGNATURE“ saat memanggil API Paydia.
HTTP METHOD + ”:” + RELATIVE PATH URL + “:“ + B2B ACCESS TOKEN + “:“ + LowerCase(HexEncode(SHA-256(Minify(HTTP BODY)))) + “:“ + X-TIMESTAMP |
Validasi Signature Digital
Terapkan Signature B2B Token
Berikut adalah langkah-langkah Pembuatan Signature digital:
- Ambil Signature dari header HTTP “X-SIGNATURE“.
- Dekripsi Signature menggunakan kunci publik yang sesuai dengan kunci pribadi yang digunakan untuk menghasilkan Signature.
- Verifikasi kebenaran Signature berdasarkan enkripsi SHA-256 dengan Signature RSA-2048 terhadap string yang akan ditandatangani.
- Jika verifikasi benar, maka konsumsi pesan tersebut.
Signature Transaksi
- Composisi string yang akan ditandatangani:
- Hasilkan Signature dari string yang akan ditandatangani di atas dengan menerapkan penyandian HMAC_SHA512 menggunakan kunci rahasia yang diberikan oleh Paydia, dan kemudian kodekan hasilnya ke base64.
- Ambil Signature dari header HTTP “X-SIGNATURE“.
- Bandigkan nilai antara X-SIGNATURE dan Signature yang dihasilkan, jika nilai-nilai tersebut sama, maka konsumsi pesan tersebut.
HTTP METHOD + ”:” + RELATIVE PATH URL + “:“ + B2B ACCESS TOKEN + “:“ + LowerCase(HexEncode(SHA-256(Minify(HTTP BODY)))) + “:“ + X-TIMESTAMP |
Asimetris tanpa Token Akses (SHA256withRSA)
Langkah-langkah berikut akan menjelaskan tentang Asimetris tanpa Token Akses (SHA256withRSA).
Pembuatan Kunci Asimetris
Berikut akan dijelaskan tentang Pembuatan kunci asimetris:
- Buat Kunci Pribadi
- Ekspor Kunci Publik
- Kodekan Kunci Pribadi ke PKCS#8
openssl genrsa -out rsa_private_key.pem 2048 |
openssl rsa -in rsa_private_key.pem -out rsa_public_key.pem -pubout |
openssl pkcs8 -topk8 -in rsa_private_key.pem -out pkcs8_rsa_private_key.pem -nocrypt |
Mittra harus menghasilkan Signature dengan pkcs8_rsa_private_key.pem dan Paydia akan menggunakan rsa_public_key.pem untuk memvalidasi Signature dan sebaliknya.
Pembuatan Signature Digital
Berikut adalah langkah-langkah Pembuatan Signature digital:
- Compose string yang akan ditandatangani:
- Terapkan token:
- Transaksional:
- String Signature dihasilkan dari string yang akan ditandatangani di atas dengan menerapkan enkripsi SHA-256 dengan enkripsi RSA-2048 menggunakan kunci pribadi pkcs8, dan kemudian kodekan hasilnya ke base64.
- Letakkan string Signature ke header HTTP “X-SIGNATURE“.
X-CLIENT-KEY + "|" + X-TIMESTAMP |
HTTP METHOD + ”:” + RELATIVE PATH URL + “:“ + LowerCase(HexEncode(SHA-256(Minify(HTTP BODY))) + “:“ + X-TIMESTAMP |
Contoh:
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5 |
Validasi Signature Digital
Berikut adalah langkah-langkah validasi Signature digital:
- Ambil Signature dari header HTTP “X-SIGNATURE“.
- Dekripsi Signature menggunakan kunci publik yang sesuai dengan kunci pribadi yang digunakan untuk menghasilkan Signature.
- Verifikasi kebenaran Signature berdasarkan enkripsi SHA-256 dengan enkripsi RSA-2048 pada Signature terhadap string yang akan ditandatangani.
- Jika verifikasi benar, maka konsumsi pesan tersebut.
Versi Dokumen
Tabel berikut digunakan untuk menunjukkan versi dokumen ini:
No | Tanggal | Versi | Catatan | Halaman |
---|---|---|---|---|
1 | 10 Mei 2023 | 1.2.2 |
| |
3 | 4 November 2022 | 1.1.0 | Rilis Awal | Segala hal yang terkait dengan PayConnect |