eWallet
Metode Pembayaran Yang Di Dukung
Berikut adalah metode pembayaran yang didukung oleh Winpay eWallet:
Kode Channel | Institusi |
---|---|
SC | Speedcash |
OVO | OVO |
DANA | DANA |
SPAY | ShopeePay |
Transaksi eWallet
Payment (Create eWallet Payment)
Service ini digunakan untuk membuat transaksi pembayaran eWallet.
Service Info
Service Code | 54 |
Http Method | POST |
Path | .../v1.0/debit/payment-host-to-host |
Payload Create Payment eWallet
Nama Field | Tipe Data | Wajib | Deskripsi |
---|---|---|---|
partnerReferenceNo | String | Y | Nomor transaksi Length: 5-50 Karakter yang Diizinkan: huruf (a-z, A-Z), angka (0-9), garis bawah (_) dan tanda hubung (-) |
amount | Object | Y | Object amount |
amount.value | String | Y | Nilai transaksi Length: 1-12 Allowed Chars: 0-9 |
amount.currency | String | Y | Kode mata uang Length: 3 Allowed Value: IDR |
urlParam | Array | Y | Array url |
urlParam.url | String | Y | Url callback |
urlParam.type | String | Y | Tipe callback Allowed Value: PAY_NOTIFY dan PAY_RETURN |
urlParam.isDeeplink | String | Y | Flag untuk menentukan apakah url callback merupakan deeplink atau tidak Allowed Value: N |
validUpTo | String | Y | Waktu transaksi berakhir Format: YYYY-MM-DDTHH:mm:ssZ (ISO8601) Harus lebih dari 1 menit dan maksimal 3 bulan dari waktu request |
additionalInfo | Object | Y | Object additionalInfo |
additionalInfo.channel | String | Y | Channel eWallet Allowed Value: SC , OVO , DANA , SPAY |
additionalInfo.customerPhone | String | Y | Nomor telepon customer |
additionalInfo.customerName | String | Y | Nama customer Lenght: 5-25 Karakter yang diizinkan: huruf (a-z, A-Z), angka (0-9), tanda hubung (-), dan spasi (\s) |
{
"partnerReferenceNo": "000000000056",
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"urlParam": [
{
"url": "https://test1.bi.go.id/v1/test",
"type": "PAY_NOTIFY",
"isDeeplink": "N"
},
{
"url": "https://test1.bi.go.id/v1/test",
"type": "PAY_RETURN",
"isDeeplink": "N"
}
],
"validUpTo": "2023-09-05T17:10:11+07:00",
"additionalInfo": {
"channel": "SPAY",
"customerPhone": "0895633156874",
"customerName": "Chus Pandi"
}
}
Response Create Payment eWallet
Parameter | Tipe Data | Deskripsi |
---|---|---|
responseCode | String | Kode response |
responseMessage | String | Pesan response |
partnerReferenceNo | String | Nomor transaksi |
appRedirectUrl | String | Url deeplink |
webRedirectUrl | String | Url redirect |
additionalInfo | Object | Object response |
contractId | String | Nomor identifikasi transaksi yang dihasilkan di sistem Winpay |
expiredTime | String | ewallet expiration in ISO8601 format |
channel | String | Channel eWallet |
instructions | Array | Array of payment instructions |
{
"responseCode": "2005400",
"responseMessage": "Success",
"partnerReferenceNo": "000000000056",
"appRedirectUrl": "",
"webRedirectUrl": "https://pay.uat.airpay.co.id/h5pay/pay?type=start&medium_index=dFhkbmR1bTBIamhWwwGYax2gqqaG0bwCV3nlkmQLDsIkIhz-8m0VHcHV0nVvrpd3jK_DCulreFD1J5whxFwzXw&order_key=dabvhWOGQdcTs-dR3s_sFR69_X188lg92nPv2v0-uT1zpS7nWhxcDJuuOzUln7Z1PPVTPc6MyF6Vrw&source=web&token=dFhkbmR1bTBIamhWwwGYax2gqqaG0bwCV3nlkmQLDsIkIhz-8m0VHcHV0nVvrpd3jK_DCulreFD1J5whxFwzXw",
"additionalInfo": {
"contractId": "so4c0a61fa-5ad4-4fee-99ed-2a7b06b30c4b",
"expiredTime": "2023-09-05T17:10:11+07:00",
"channel": "SPAY",
"instructions": []
}
}
List Response Code Create Payment eWallet
Kode Respon | Pesan Respon | Deskripsi |
---|---|---|
2005400 | Success | |
4005400 | Invalid response from biller | Cek responseMessage untuk detail errornya |
4005401 | Invalid field format { field name } | |
4005402 | Invalid mandatory field {field name} | |
4015400 | Invalid signature | X-Signature salah |
4045416 | Partner not found | X-Partner-ID tidak terdaftar |
4095400 | Cannot use same X-EXTERNAL-ID in same day | X-External-ID sudah pernah digunakan di hari yang sama |
4095401 | Duplicate partnerReferenceNo | partnerReferenceNo sudah pernah digunakan |
Payment Status
Service ini digunakan untuk cek status pembayaran dari eWallet
Service Info
Service Code | 55 |
Http Method | POST |
Path | .../v1.0/debit/status |
Payload Status Payment
Nama Field | Tipe Data | Wajib | Deskripsi |
---|---|---|---|
originalPartnerReferenceNo | String | Y | Nomor transaksi sesuai dengan field partnerReferenceNo pada saat create payment Length: 5-50 Karakter yang Diizinkan: huruf (a-z, A-Z), angka (0-9), garis bawah (_) dan tanda hubung (-) |
additionalInfo | Object | Y | Object additionalInfo |
additionalInfo.contractId | String | Y | Nomor identifikasi transaksi yang dihasilkan di sistem Winpay |
additionalInfo.channel | String | Y | Channel eWallet |
{
"originalPartnerReferenceNo": "000000000053",
"additionalInfo": {
"contractId": "so748b157a-c7b2-4b2b-81cd-00fdd94c82bd",
"channel": "SPAY"
}
}
Response Status Payment
Parameter | Tipe Data | Deskripsi |
---|---|---|
responseCode | String | Kode response |
responseMessage | String | Pesan response |
originalPartnerReferenceNo | String | Nomor transaksi |
serviceCode | String | Kode service |
latestTransactionStatus | String | Status transaksi, transaksi berhasil atau tidak berdasarkan status ini Length: 2 Values: 00 => Pembayaran Diterima07 => Belum Terbayar |
additionalInfo | Object | Object response |
contractId | String | Nomor identifikasi transaksi yang dihasilkan di sistem Winpay |
{
"responseCode": "2005500",
"responseMessage": "Successful",
"originalPartnerReferenceNo": "000000000053",
"serviceCode": "54",
"latestTransactionStatus": "07",
"additionalInfo": {
"contractId": "so748b157a-c7b2-4b2b-81cd-00fdd94c82bd"
}
}
List ResponseCode Status Payment
Kode Respon | Pesan Respon | Deskripsi |
---|---|---|
2005500 | Success | |
4005500 | Invalid response from biller | Cek responseMessage untuk detail errornya |
4005501 | Invalid field format { field name } | |
4005502 | Invalid mandatory field {field name} | |
4015500 | Invalid signature | X-Signature salah |
4045501 | Transaction not found | partnerReferenceNo dan contractId tidak ditemukan |
4045516 | Partner not found | X-Partner-ID tidak terdaftar |
4095500 | Cannot use same X-EXTERNAL-ID in same day | X-External-ID sudah pernah digunakan di hari yang sama |
5005502 | reqbill not found | contractId tidak ditemukan |
Payment Cancel
Service ini digunakan untuk membatalkan transaksi pembayaran eWallet. Transaksi yg bisa dibatalkan hanya transaksi yang belum terbayar.
Service Info
Service Code | 57 |
Http Method | POST |
Path | .../v1.0/debit/cancel |
Payload Cancel Payment
Nama Field | Tipe Data | Wajib | Deskripsi |
---|---|---|---|
originalPartnerReferenceNo | String | Y | Nomor transaksi sesuai dengan field partnerReferenceNo pada saat create payment Length: 5-50 Karakter yang Diizinkan: huruf (a-z, A-Z), angka (0-9), garis bawah (_) dan tanda hubung (-) |
reason | String | Y | Alasan pembatalan transaksi |
additionalInfo | Object | Y | Object additionalInfo |
contractId | String | Y | Nomor identifikasi transaksi yang dihasilkan di sistem Winpay |
channel | String | Y | Channel eWallet |
{
"originalPartnerReferenceNo": "0000000000568",
"reason": "Network timeout",
"additionalInfo": {
"contractId": "soe1f74b38-e689-4747-b4bd-5dd876928349",
"channel": "SPAY"
}
}
Response Cancel Payment
Parameter | Tipe Data | Deskripsi |
---|---|---|
responseCode | String | Kode response |
responseMessage | String | Pesan response |
additionalInfo | Object | Object response |
contractId | String | Nomor identifikasi transaksi yang dihasilkan di sistem Winpay |
{
"responseCode": "2005700",
"responseMessage": "Successful",
"additionalInfo": {
"contractId": "soe1f74b38-e689-4747-b4bd-5dd876928349"
}
}
List ResponseCode Cancel Payment
Kode Respon | Pesan Respon | Deskripsi |
---|---|---|
2005700 | Success | |
4005700 | Invalid response from biller | Cek responseMessage untuk detail errornya |
4005701 | Invalid field format { field name } | |
4005702 | Invalid mandatory field {field name} | |
4015700 | Invalid signature | X-Signature salah |
4045701 | Transaction not found | partnerReferenceNo dan contractId tidak ditemukan |
4045716 | Partner not found | X-Partner-ID tidak terdaftar |
4095700 | Cannot use same X-EXTERNAL-ID in same day | X-External-ID sudah pernah digunakan di hari yang sama |
5005702 | reqbill not found | contractId tidak ditemukan |
Handle Payment Callback
Setelah customer melakukan pembayaran, Winpay akan mengirimkan callback ke merchant untuk memberitahukan status pembayaran. Merchant harus mengimplementasikan service untuk menerima callback dari Winpay.
Kami akan mengirimkan callback ke merchant 3x sampai merchant meresponse dengan response yang diharapkan. Namun ketika percobaan callback pertama sudah sesuai maka kami tidak akan mengirimkan callback lagi.
Callback Info
Service Code | 56 |
HTTP Method | POST |
Path | {{yoururl}}/v1.0/debit/notify |
Struktur Header
Header | Value | Deskripsi |
---|---|---|
Content-Type | application/json | |
X-Timestamp | 2023-08-24T17:07:05+07:00 | ISO8601 String |
X-Partner-ID | {partnerId} | |
X-Signature | {signature} | |
X-External-ID | {externalId} | |
Channel-ID | {channelId} |
Callback Payload
Parameter | Tipe Data | Deskripsi |
---|---|---|
originalPartnerReferenceNo | String | Nomor transaksi sesuai dengan field partnerReferenceNo pada saat create payment |
originalReferenceNo | String | Nomor referensi pembayaran Winpay, unik pertransaksi |
merchantId | String | Merchant ID |
amount | Object | Object amount |
amount.value | String | Nilai transaksi Length: 1-12 Allowed Chars: 0-9 |
amount.currency | String | Kode mata uang Length: 3 Allowed Value: IDR |
latestTransactionStatus | String | Status transaksi, transaksi berhasil atau tidak berdasarkan status ini 00 - Success 01 - Initiated 02 - Paying 03 - Pending04 - Refunded05 - Canceled06 - Failed07 - Not found |
additionalInfo | Object | Object additionalInfo |
additionalInfo.channel | String | Channel eWallet |
additionalInfo.contractId | String | Nomor identifikasi transaksi yang dihasilkan di sistem Winpay |
{
"originalPartnerReferenceNo": "0000000000577",
"originalReferenceNo": "36289",
"merchantId": "170041",
"amount": {
"value": "1000",
"currency": "IDR"
},
"latestTransactionStatus": "00",
"additionalInfo": {
"channel": "SPAY",
"contractId": "so1baf2f8b-451b-44f0-80fb-fb68325e9c8b"
}
}
Expected Response
Response yang diharapkan dari merchant adalah sebagai berikut:
{
"responseCode": "2005600",
"responseMessage": "Successful"
}