Midtrans / midtrans-nodejs-client

Official Midtrans Payment API Client for Node JS | https://midtrans.com
MIT License
174 stars 56 forks source link

Custom VA Number is not working #33

Closed TheArKaID closed 3 years ago

TheArKaID commented 3 years ago

Saya baru dalam menggunakan Midtrans, dan mencoba untuk menggunakan CoreAPI serta Custom VA. Tapi, kenapa va_number yang di return selalu berbeda ? Tidak sama dengan apa yang saya kirimkan. Di dokumentasi - Bank Transfer Object, ada peraturan terkait seberapa panjang Custom VA Number, Sebagai contoh untuk Permata, saya buat sebuah row di database, dan menggunakan account_number sebagai VA,

  let va_number = '6374912369123123123'
  bank_account = await models.BankAccount.create({
      account_number: va_number,
      account_name: data.method,
      description: 'Permata Virtual Account',
      bank_id: data.bank_id,
      tenant_id: tenant.id,
      virtual: true,
      created_by: tenant.name,
      updated_by: tenant.name
  })

Returnya adalah error 400, dengan message One or more parameters in the payload is invalid., [bank_transfer.va_number length must be equal to 10]. Case nya di sini, kalau dibuat sesuai, dengan panjang va_number 10 (misalnya 8273645263), returnya malah seperti ini,

{
    "status_code": "201",
    "status_message": "Success, PERMATA VA transaction is successful",
    "transaction_id": "19092cc6-f60e-47f8-9c01-a32763e28cfe",
    "order_id": "DEP2021061578348",
    "gross_amount": "100000.00",
    "currency": "IDR",
    "payment_type": "bank_transfer",
    "transaction_time": "2021-06-15 12:53:45",
    "transaction_status": "pending",
    "fraud_status": "accept",
    "permata_va_number": "996007792398731",
    "merchant_id": "XXXXXX5"
}

Lain kalau BCA, rulenya adalah Accepts 6-11 digits, tapi berapapun yang saya kirim, sukses, tanpa error, tapi VA Number nya ngga sesuai dengan apa yang dikirim.

Mungkin kalau BNI dan BRI beda lagi, tapi ya ini dulu lah.

Terimakasih

omarxp commented 3 years ago

Hi @TheArKaID untuk custom VA Permata, ini jenisnya B2B, dimana sekali membuat transaksi dengan custom VA Permata, VA-nya akan aktif terus. contoh di atas dengan VA 9968273645263 sebelumnya sudah pernah dibuat, maka expected jika membuat transaksi lagi dengan nomor VA 8273645263, maka akan dibuatkan random VA. selanjutnya, user hanya tinggal membayar di no VA ini saja 9968273645263 tanpa perlu dibuatkan transaksi baru. bisa dilakukan testing bayar di simulator berikut: https://simulator.sandbox.midtrans.com/permata/va/index bayar dengan no VA yang sama 9968273645263, transaksi di dashboard midtrans akan dibuatkan otomatis.

untuk VA BCA, ini harusnya expected, menerima 4-11 digit, setelah prefix company codenya. bisa dilakukan test dengan input 4 digit dahulu, nanti akan kelihatan bedanya.

untuk informasi terkait custom VA, bisa melihat info lebih lanjut dsni https://docs.midtrans.com/en/core-api/advanced-features?id=bank-transferva

terima kasih.

TheArKaID commented 3 years ago

Hi @TheArKaID untuk custom VA Permata, ini jenisnya B2B, dimana sekali membuat transaksi dengan custom VA Permata, VA-nya akan aktif terus. contoh di atas dengan VA 9968273645263 sebelumnya sudah pernah dibuat, maka expected jika membuat transaksi lagi dengan nomor VA 8273645263, maka akan dibuatkan random VA. selanjutnya, user hanya tinggal membayar di no VA ini saja 9968273645263 tanpa perlu dibuatkan transaksi baru. bisa dilakukan testing bayar di simulator berikut: https://simulator.sandbox.midtrans.com/permata/va/index bayar dengan no VA yang sama 9968273645263, transaksi di dashboard midtrans akan dibuatkan otomatis.

untuk VA BCA, ini harusnya expected, menerima 4-11 digit, setelah prefix company codenya. bisa dilakukan test dengan input 4 digit dahulu, nanti akan kelihatan bedanya.

untuk informasi terkait custom VA, bisa melihat info lebih lanjut dsni https://docs.midtrans.com/en/core-api/advanced-features?id=bank-transferva

terima kasih.

...Oke, berarti VA tersebut akan aktif terus ya...Tapi, 996 kan kode milik Permata, lalu diikuti dengan Custom VA kita. Artinya apabila orang lain sudah menggunakan Custom VA yang kita buat, maka akan dibuatkan random VA ?

Oh iya, untuk yang BCA bisa, dan sesuai deskripsi. Tapi, sedikit beda dengan Permata, ketika Custom VA ke BCA kurang dari 6 akan digenerate prefix 0 sampai batas minimal, atau lebih dari 11 akan dipotong sampai batas maksimal. Sedangkan Permata akan menampilkan MidtransError.

omarxp commented 3 years ago

Tapi, 996 kan kode milik Permata

996 itu kode permata untuk merchant anda, merchant lain akan mendapat kode yang berbeda, jadi kalo digabung, nomor VA nya akan berbeda.

Sedangkan Permata akan menampilkan MidtransError

benar, sayangnya itu spesifiaksi dari bank

TheArKaID commented 3 years ago

Oke, terimakasih infonya