Skip to content
Transaction Status Inquiry

Transaction Status Inquiry

Transaction Status Inquiry

Mengecek status transfer yang sudah dikirim sebelumnya, terhadap counterparty bank atau non-bank.

resp, err := transfercredit.TransactionStatusInquiryBank(ctx, transport, hb, transfercredit.TransactionStatusInquiryBankRequest{
	ServiceCode: "...",
})
if err != nil {
	// errors.Is(err, snap.ErrBadRequest), snap.ErrUnauthorized, etc.
}

TransactionStatusInquiryBank

Memanggil endpoint SNAP Transaction Status Inquiry Bank (Service Code 36, path …/{version}/transfer/status). hb harus sudah membawa setiap field yang dibutuhkan snap.HeaderBuilder kecuali Body, yang diatur sendiri oleh TransactionStatusInquiryBank agar byte hasil marshal yang sama persis dipakai untuk signing dan wire body.

func TransactionStatusInquiryBank(ctx context.Context, t *snap.Transport, hb snap.HeaderBuilder, req TransactionStatusInquiryBankRequest) (TransactionStatusInquiryBankResponse, error)

Request — TransactionStatusInquiryBankRequest

ServiceCode satu-satunya field wajib — mengacu ke service code transaksi asal (mis. “17” untuk Intrabank).

FieldTypePresence
originalPartnerReferenceNostringOpsional
originalReferenceNostringOpsional
originalExternalIdstringOpsional
serviceCodestringWajib
transactionDatestringOpsional
amount*snap.MoneyOpsional
additionalInfojson.RawMessageOpsional

Response — TransactionStatusInquiryBankResponse

Struktur flat, tidak ada objek nested. Field request aslinya dikembalikan lagi (Opsional di sini terlepas dari kewajibannya di request). latestTransactionStatus kode 2 digit: 00 Sukses, 01 Diinisiasi, 02 Diproses, 03 Pending, 04 Direfund, 05 Dibatalkan, 06 Gagal, 07 Tidak ditemukan.

FieldTypePresence
responseCodestringWajib
responseMessagestringWajib
originalPartnerReferenceNostringOpsional
originalReferenceNostringOpsional
originalExternalIdstringOpsional
serviceCodestringOpsional
transactionDatestringOpsional
amount*snap.MoneyOpsional
beneficiaryAccountNostringWajib
beneficiaryBankCodestringOpsional
previousResponseCodestringOpsional
referenceNumberstringWajib
sourceAccountNostringWajib
transactionIdstringOpsional
latestTransactionStatusstringWajib
transactionStatusDescstringOpsional
additionalInfojson.RawMessageOpsional

TransactionStatusInquiryNonBank

Memanggil endpoint SNAP Transaction Status Inquiry (non-bank) (Service Code 53, path …/{version}/qr/qr-mpm-status). Meski berbagi prefix path qr/, ini kategori sendiri, terpisah dari QR/MPM. hb harus sudah membawa setiap field yang dibutuhkan snap.HeaderBuilder kecuali Body, yang diatur sendiri oleh TransactionStatusInquiryNonBank agar byte hasil marshal yang sama persis dipakai untuk signing dan wire body.

Query status read-only, tidak ada catatan non-idempotency, sama seperti TransactionStatusInquiryBank.

func TransactionStatusInquiryNonBank(ctx context.Context, t *snap.Transport, hb snap.HeaderBuilder, req TransactionStatusInquiryNonBankRequest) (TransactionStatusInquiryNonBankResponse, error)

Request — TransactionStatusInquiryNonBankRequest

7 field dasar yang sama dengan TransactionStatusInquiryBankRequest di atas, ditambah OriginalResponseCode, OriginalResponseMessage, SessionID, dan RequestID.

FieldTypePresence
originalPartnerReferenceNostringOpsional
originalReferenceNostringOpsional
originalExternalIdstringOpsional
serviceCodestringWajib
transactionDatestringOpsional
amount*snap.MoneyOpsional
additionalInfojson.RawMessageOpsional
originalResponseCodestringOpsional
originalResponseMessagestringOpsional
sessionIdstringOpsional
requestIdstringOpsional

Response — TransactionStatusInquiryNonBankResponse

Identik field dengan TransactionStatusInquiryBankResponse, dimodelkan sebagai tipe sendiri karena setiap service code SNAP mendapat tipe berbeda meski bentuknya sama.

FieldTypePresence
responseCodestringWajib
responseMessagestringWajib
originalPartnerReferenceNostringOpsional
originalReferenceNostringOpsional
originalExternalIdstringOpsional
serviceCodestringOpsional
transactionDatestringOpsional
amount*snap.MoneyOpsional
beneficiaryAccountNostringWajib
beneficiaryBankCodestringOpsional
previousResponseCodestringOpsional
referenceNumberstringWajib
sourceAccountNostringWajib
transactionIdstringOpsional
latestTransactionStatusstringWajib
transactionStatusDescstringOpsional
additionalInfojson.RawMessageOpsional