Skip to content

Balance Info

Balance Info

The portal’s smallest category: one endpoint, one file, one package, in balanceinfo.

resp, err := balanceinfo.BalanceInquiry(ctx, transport, hb, balanceinfo.BalanceInquiryRequest{
	PartnerReferenceNo: "2020102900000000000001",
	BankCardToken: "...",
	AccountNo: "1234567890",
})
if err != nil {
	// errors.Is(err, snap.ErrBadRequest), snap.ErrUnauthorized, etc.
}

BalanceInquiry

Checks an account’s balance (Service Code 11). Set every HeaderBuilder field except Body — BalanceInquiry marshals the request and sets Body itself, so the same bytes are signed and sent.

func BalanceInquiry(ctx context.Context, t *snap.Transport, hb snap.HeaderBuilder, req BalanceInquiryRequest) (BalanceInquiryResponse, error)

Request — BalanceInquiryRequest

Set exactly one of BankCardToken or AccountNo (unless a B2B2C customer token already supplies the account). The server rejects a request that sets neither — this package doesn’t check that for you.

FieldTypePresence
partnerReferenceNostringOptional
bankCardTokenstringOptional
accountNostringOptional
balanceTypes[]stringOptional
additionalInfojson.RawMessageOptional

Response — BalanceInquiryResponse

The response body.

FieldTypePresence
responseCodestringMandatory
responseMessagestringMandatory
referenceNostringOptional
partnerReferenceNostringOptional
accountNostringOptional
namestringOptional
accountInfos[]AccountInfoOptional
additionalInfojson.RawMessageOptional
AccountInfo fields

One entry in accountInfos.

FieldTypePresence
balanceTypestringOptional
amount*snap.MoneyOptional
floatAmount*snap.MoneyOptional
holdAmount*snap.MoneyOptional
availableBalance*snap.MoneyOptional
ledgerBalance*snap.MoneyOptional
currentMultilateralLimit*snap.MoneyOptional
registrationStatusCodestringOptional
statusstringOptional
additionalInfojson.RawMessageOptional