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 BodyBalanceInquiry 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