Documentation ¶
Overview ¶
Every comment was copied from original documentation from https://developer.safaricom.co.ke/apis-explorer
Index ¶
- Constants
- Variables
- func Timestamp(t time.Time) string
- type APIError
- type B2C
- type B2CCallback
- type B2CResponse
- type C2B
- type C2BConformationResponse
- type C2BRegisterURL
- type C2BRegisterURLResponse
- type C2BResponse
- type C2BValidationResponse
- type GenericResponse
- type Payment
- type PaymentCallback
- type PaymentResponse
- type Reversal
- type ReversalResponse
- type Service
- func (s *Service) B2CRequest(b2c B2C) (*B2CResponse, error)
- func (s *Service) C2BRegisterURL(c2BRegisterURL C2BRegisterURL) (*C2BRegisterURLResponse, error)
- func (s *Service) C2BSimulation(c2b C2B) (*C2BResponse, error)
- func (s *Service) GenerateNewAccessToken() (string, error)
- func (s *Service) MPESAOnlinePayment(payment Payment) (*PaymentResponse, error)
- func (s *Service) Reversal(reversal Reversal) (*ReversalResponse, error)
- func (s *Service) TransactionStatus(status TransactionStatus) (*TransactionStatusResponse, error)
- type TransactionStatus
- type TransactionStatusResponse
Constants ¶
const ( SandboxEndpoint = "https://sandbox.safaricom.co.ke/" ProductionEndpoint = "https://api.safaricom.co.ke/" )
const TimestampLayout = "20060102150405"
Variables ¶
var ErrTokenIsExpired = errors.New("token was expired")
Functions ¶
Types ¶
type APIError ¶ added in v1.1.0
type APIError struct { RequestId *string `json:"requestId"` ErrorCode *string `json:"errorCode"` ErrorMessage *string `json:"errorMessage"` }
func (APIError) MarshalEasyJSON ¶ added in v1.1.0
MarshalEasyJSON supports easyjson.Marshaler interface
func (APIError) MarshalJSON ¶ added in v1.1.0
MarshalJSON supports json.Marshaler interface
func (*APIError) UnmarshalEasyJSON ¶ added in v1.1.0
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*APIError) UnmarshalJSON ¶ added in v1.1.0
UnmarshalJSON supports json.Unmarshaler interface
type B2C ¶
type B2C struct { // The name of the initiator initiating the request // This is the credential/username used to authenticate the transaction request InitiatorName string // Encrypted Credential of user getting transaction amount // Encrypted password for the initiator to authenticate the transaction request SecurityCredential string // Unique command for each transaction type // SalaryPayment // BusinessPayment // PromotionPayment CommandID string // The amount been transacted Amount string // Organization /MSISDN sending the transaction // Shortcode (6 digits) // MSISDN (12 digits) PartyA string // MSISDN receiving the transaction (12 digits) PartyB string // Comments that are sent along with the transaction. // Up to 100 Remarks string // The path that stores information of time out transaction // https://ip or domain:port/path QueueTimeOutURL string // The path that stores information of transactions // https://ip or domain:port/path ResultURL string // Optional Parameter // Up to 100 Occasion string `json:",omitempty"` }
func (B2C) MarshalEasyJSON ¶ added in v1.1.0
MarshalEasyJSON supports easyjson.Marshaler interface
func (B2C) MarshalJSON ¶ added in v1.1.0
MarshalJSON supports json.Marshaler interface
func (*B2C) UnmarshalEasyJSON ¶ added in v1.1.0
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*B2C) UnmarshalJSON ¶ added in v1.1.0
UnmarshalJSON supports json.Unmarshaler interface
type B2CCallback ¶
type B2CCallback struct { Result struct { ResultType int ResultCode int ResultDesc string OriginatorConversationID string ConversationID string TransactionID string ResultParameters struct { ResultParameter []struct { Key string Value json.RawMessage } } ReferenceData json.RawMessage } }
func (B2CCallback) MarshalEasyJSON ¶ added in v1.1.0
func (v B2CCallback) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (B2CCallback) MarshalJSON ¶ added in v1.1.0
func (v B2CCallback) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*B2CCallback) UnmarshalEasyJSON ¶ added in v1.1.0
func (v *B2CCallback) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*B2CCallback) UnmarshalJSON ¶ added in v1.1.0
func (v *B2CCallback) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type B2CResponse ¶
type B2CResponse GenericResponse
func (B2CResponse) MarshalEasyJSON ¶ added in v1.1.0
func (v B2CResponse) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (B2CResponse) MarshalJSON ¶ added in v1.1.0
func (v B2CResponse) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*B2CResponse) UnmarshalEasyJSON ¶ added in v1.1.0
func (v *B2CResponse) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*B2CResponse) UnmarshalJSON ¶ added in v1.1.0
func (v *B2CResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type C2B ¶
type C2B struct { // Short Code receiving the amount being transacted ShortCode string // Unique command for each transaction type. For C2B dafult // CustomerPayBillOnline // CustomerBuyGoodsOnline CommandID string // The amount being transacted Amount string // Phone number (msisdn) initiating the transaction Msisdn string // Bill Reference Number (Optional) BillRefNumber string `json:",omitempty"` }
func (C2B) MarshalEasyJSON ¶ added in v1.1.0
MarshalEasyJSON supports easyjson.Marshaler interface
func (C2B) MarshalJSON ¶ added in v1.1.0
MarshalJSON supports json.Marshaler interface
func (*C2B) UnmarshalEasyJSON ¶ added in v1.1.0
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*C2B) UnmarshalJSON ¶ added in v1.1.0
UnmarshalJSON supports json.Unmarshaler interface
type C2BConformationResponse ¶ added in v1.1.0
type C2BConformationResponse struct { TransactionType string TransID string // example: "20170727104247" TransTime string // example: "10.00" TransAmount string BusinessShortCode string BillRefNumber string InvoiceNumber string OrgAccountBalance string ThirdPartyTransID string MSISDN string FirstName string MiddleName string LastName string }
func (C2BConformationResponse) MarshalEasyJSON ¶ added in v1.1.0
func (v C2BConformationResponse) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (C2BConformationResponse) MarshalJSON ¶ added in v1.1.0
func (v C2BConformationResponse) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*C2BConformationResponse) UnmarshalEasyJSON ¶ added in v1.1.0
func (v *C2BConformationResponse) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*C2BConformationResponse) UnmarshalJSON ¶ added in v1.1.0
func (v *C2BConformationResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type C2BRegisterURL ¶
type C2BRegisterURL struct { // The short code of the organization. ShortCode string // Default response type for timeout. In case a transaction times out, // Mpesa will by default Complete or Cancel the transaction. ResponseType string // Confirmation URL for the client. ConfirmationURL string // Validation URL for the client. ValidationURL string }
func (C2BRegisterURL) MarshalEasyJSON ¶ added in v1.1.0
func (v C2BRegisterURL) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (C2BRegisterURL) MarshalJSON ¶ added in v1.1.0
func (v C2BRegisterURL) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*C2BRegisterURL) UnmarshalEasyJSON ¶ added in v1.1.0
func (v *C2BRegisterURL) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*C2BRegisterURL) UnmarshalJSON ¶ added in v1.1.0
func (v *C2BRegisterURL) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type C2BRegisterURLResponse ¶
type C2BRegisterURLResponse GenericResponse
func (C2BRegisterURLResponse) MarshalEasyJSON ¶ added in v1.1.0
func (v C2BRegisterURLResponse) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (C2BRegisterURLResponse) MarshalJSON ¶ added in v1.1.0
func (v C2BRegisterURLResponse) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*C2BRegisterURLResponse) UnmarshalEasyJSON ¶ added in v1.1.0
func (v *C2BRegisterURLResponse) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*C2BRegisterURLResponse) UnmarshalJSON ¶ added in v1.1.0
func (v *C2BRegisterURLResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type C2BResponse ¶
type C2BResponse GenericResponse
func (C2BResponse) MarshalEasyJSON ¶ added in v1.1.0
func (v C2BResponse) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (C2BResponse) MarshalJSON ¶ added in v1.1.0
func (v C2BResponse) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*C2BResponse) UnmarshalEasyJSON ¶ added in v1.1.0
func (v *C2BResponse) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*C2BResponse) UnmarshalJSON ¶ added in v1.1.0
func (v *C2BResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type C2BValidationResponse ¶ added in v1.1.0
type C2BValidationResponse struct { TransactionType string TransID string // example: "20170727104247" TransTime string // example: "10.00" TransAmount string BusinessShortCode string BillRefNumber string InvoiceNumber string OrgAccountBalance string ThirdPartyTransID string MSISDN string FirstName string MiddleName string LastName string }
func (C2BValidationResponse) MarshalEasyJSON ¶ added in v1.1.0
func (v C2BValidationResponse) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (C2BValidationResponse) MarshalJSON ¶ added in v1.1.0
func (v C2BValidationResponse) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*C2BValidationResponse) UnmarshalEasyJSON ¶ added in v1.1.0
func (v *C2BValidationResponse) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*C2BValidationResponse) UnmarshalJSON ¶ added in v1.1.0
func (v *C2BValidationResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type GenericResponse ¶
type GenericResponse struct { // A unique numeric code generated by the M-Pesa system of the request. OriginatorConversationID string `json:",omitempty"` // A unique numeric code generated by the M-Pesa system of the response to a request. ConversationID string `json:",omitempty"` ResponseDescription string `json:",omitempty"` // A response message from the M-Pesa system accompanying the response to a request. ResponseCode string `json:",omitempty"` }
func (GenericResponse) MarshalEasyJSON ¶ added in v1.1.0
func (v GenericResponse) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (GenericResponse) MarshalJSON ¶ added in v1.1.0
func (v GenericResponse) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*GenericResponse) UnmarshalEasyJSON ¶ added in v1.1.0
func (v *GenericResponse) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*GenericResponse) UnmarshalJSON ¶ added in v1.1.0
func (v *GenericResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type Payment ¶
type Payment struct { // This is organizations shortcode (Paybill or Buygoods - A 5 to 6 digit account number) // used to identify an organization and receive the transaction. BusinessShortCode string // This is the password used for encrypting the request sent: A base64 encoded string. // (The base64 string is a combination of Shortcode+Passkey+Timestamp) Password string // This is the Timestamp of the transaction, // normally in the format of YEAR+MONTH+DATE+HOUR+MINUTE+SECOND (YYYYMMDDHHMMSS) // Each part should be at least two digits apart from the year which takes four digits. Timestamp string // This is the transaction type that is used to identify the transaction when sending the request to M-Pesa. // The transaction type for M-Pesa Express is "CustomerPayBillOnline" TransactionType string // This is the Amount transacted normally a numeric value. Money that customer pays to the Shorcode. // Only whole numbers are supported. Amount string // The phone number sending money. // The parameter expected is a Valid Safaricom Mobile Number that is M-Pesa registered in the format 2547XXXXXXXX PartyA string // The organization receiving the funds. // The parameter expected is a 5 to 6 digit as defined on the Shortcode description above. // This can be the same as BusinessShortCode value above. PartyB string // The Mobile Number to receive the STK Pin Prompt. This number can be the same as PartyA value above. PhoneNumber string // A CallBack URL is a valid secure URL that is used to receive notifications from M-Pesa API. // It is the endpoint to which the results will be sent by M-Pesa API. CallBackURL string // Account Reference: // This is an Alpha-Numeric parameter that is defined by your system as an Identifier of the transaction // for CustomerPayBillOnline transaction type. // Along with the business name, this value is also displayed to the customer in the STK Pin Prompt message. // Maximum of 12 characters. AccountReference string // This is any additional information/comment that can be sent along with the request from your system. // Maximum of 13 Characters. TransactionDesc string }
https://developer.safaricom.co.ke/lipa-na-m-pesa-online/apis/post/stkpush/v1/processrequest
func (Payment) MarshalEasyJSON ¶ added in v1.1.0
MarshalEasyJSON supports easyjson.Marshaler interface
func (Payment) MarshalJSON ¶ added in v1.1.0
MarshalJSON supports json.Marshaler interface
func (*Payment) UnmarshalEasyJSON ¶ added in v1.1.0
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Payment) UnmarshalJSON ¶ added in v1.1.0
UnmarshalJSON supports json.Unmarshaler interface
type PaymentCallback ¶
type PaymentCallback struct { Body struct { STKCallback struct { // This is a global unique Identifier for any submitted payment request. // This is the same value returned in the acknowledgement message of the initial request. MerchantRequestID string // This is a global unique identifier of the processed checkout transaction request. // This is the same value returned in the acknowledgement message of the initial request. CheckoutRequestID string // This is a numeric status code that indicates the status of the transaction processing. // 0 means successful processing and any other code means an error occurred or the transaction failed. ResultCode int // Result description is a message from the API that gives the status of the request processing, // usually maps to a specific ResultCode value. // It can be a Success processing message or an error description message. ResultDesc string CallbackMetadata struct { Item []struct { Name string Value json.RawMessage `json:",omitempty"` } } `json:",omitempty"` } `json:"stkCallback"` } }
func (PaymentCallback) MarshalEasyJSON ¶ added in v1.1.0
func (v PaymentCallback) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (PaymentCallback) MarshalJSON ¶ added in v1.1.0
func (v PaymentCallback) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*PaymentCallback) UnmarshalEasyJSON ¶ added in v1.1.0
func (v *PaymentCallback) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*PaymentCallback) UnmarshalJSON ¶ added in v1.1.0
func (v *PaymentCallback) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type PaymentResponse ¶
type PaymentResponse struct { // This is a global unique Identifier for any submitted payment request. MerchantRequestID string // This is a global unique identifier of the processed checkout transaction request. CheckoutRequestID string // Response description is an acknowledgement message from the API that gives the status of the request submission, // usually maps to a specific ResponseCode value. // It can be a Success submission message or an error description. ResponseDescription string // This is a Numeric status code that indicates the status of the transaction submission. // 0 means successful submission and any other code means an error occurred. ResponseCode string // This is a message that your system can display to the Customer as an acknowledgement of the payment request submission. CustomerMessage string }
func (PaymentResponse) MarshalEasyJSON ¶ added in v1.1.0
func (v PaymentResponse) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (PaymentResponse) MarshalJSON ¶ added in v1.1.0
func (v PaymentResponse) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*PaymentResponse) UnmarshalEasyJSON ¶ added in v1.1.0
func (v *PaymentResponse) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*PaymentResponse) UnmarshalJSON ¶ added in v1.1.0
func (v *PaymentResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type Reversal ¶
type Reversal struct { // Takes only 'TransactionReversal' Command id CommandID string // Organization receiving the transaction (shortcode) ReceiverParty string // Type of organization receiving the transaction // Organization Identifier on M-Pesa ReceiverIdentifierType string // Comments that are sent along with the transaction. // Up to 100 characters. Remarks string // The name of Initiator to initiating the request // This is the credential/username used to authenticate the transaction request Initiator string // Encrypted Credential of user getting transaction amount // Encrypted password for the initiator to authenticate the transaction request SecurityCredential string // The path that stores information of time out transaction // https://ip or domain:port/path QueueTimeOutURL string // Organization Receiving the funds // WTF?? TransactionID string // Optional Parameter // Up to 100 characters Occasion string }
func (Reversal) MarshalEasyJSON ¶ added in v1.1.0
MarshalEasyJSON supports easyjson.Marshaler interface
func (Reversal) MarshalJSON ¶ added in v1.1.0
MarshalJSON supports json.Marshaler interface
func (*Reversal) UnmarshalEasyJSON ¶ added in v1.1.0
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Reversal) UnmarshalJSON ¶ added in v1.1.0
UnmarshalJSON supports json.Unmarshaler interface
type ReversalResponse ¶
type ReversalResponse struct { Result struct { ResultType int ResultCode int ResultDesc string OriginatorConversationID string ConversationID string TransactionID string ReferenceData json.RawMessage } }
func (ReversalResponse) MarshalEasyJSON ¶ added in v1.1.0
func (v ReversalResponse) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (ReversalResponse) MarshalJSON ¶ added in v1.1.0
func (v ReversalResponse) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*ReversalResponse) UnmarshalEasyJSON ¶ added in v1.1.0
func (v *ReversalResponse) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*ReversalResponse) UnmarshalJSON ¶ added in v1.1.0
func (v *ReversalResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type Service ¶
type Service struct { HTTPClient *http.Client TokenLiveDuration time.Duration // contains filtered or unexported fields }
Service is an Mpesa Service
func (*Service) B2CRequest ¶
func (s *Service) B2CRequest(b2c B2C) (*B2CResponse, error)
func (*Service) C2BRegisterURL ¶
func (s *Service) C2BRegisterURL(c2BRegisterURL C2BRegisterURL) (*C2BRegisterURLResponse, error)
func (*Service) C2BSimulation ¶
func (s *Service) C2BSimulation(c2b C2B) (*C2BResponse, error)
func (*Service) GenerateNewAccessToken ¶
Usually, service generate tokens on its own and you should not regenerate them manually.
func (*Service) MPESAOnlinePayment ¶
func (s *Service) MPESAOnlinePayment(payment Payment) (*PaymentResponse, error)
func (*Service) TransactionStatus ¶
func (s *Service) TransactionStatus(status TransactionStatus) (*TransactionStatusResponse, error)
type TransactionStatus ¶
type TransactionStatus struct { // Takes only 'TransactionStatusQuery' command id CommandID string // Organization/MSISDN receiving the transaction // -Shortcode (6 digits) // -MSISDN (12 Digits) PartyA string // Type of organization receiving the transaction IdentifierType string // Comments that are sent along with the transaction // Up to 100 Remarks string // The name of Initiator to initiating the request // This is the credential/username used to authenticate the transaction request Initiator string // Encrypted Credential of user getting transaction amount // Encrypted password for the initiator to authenticate the transaction request SecurityCredential string // The path that stores information of time out transaction // https://ip or domain:port/path QueueTimeOutURL string // The path that stores information of transaction // https://ip or domain:port/path ResultURL string // Unique identifier to identify a transaction on M-Pesa TransactionID string Occasion string `json:",omitempty"` }
func (TransactionStatus) MarshalEasyJSON ¶ added in v1.1.0
func (v TransactionStatus) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (TransactionStatus) MarshalJSON ¶ added in v1.1.0
func (v TransactionStatus) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*TransactionStatus) UnmarshalEasyJSON ¶ added in v1.1.0
func (v *TransactionStatus) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*TransactionStatus) UnmarshalJSON ¶ added in v1.1.0
func (v *TransactionStatus) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type TransactionStatusResponse ¶
type TransactionStatusResponse GenericResponse
func (TransactionStatusResponse) MarshalEasyJSON ¶ added in v1.1.0
func (v TransactionStatusResponse) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (TransactionStatusResponse) MarshalJSON ¶ added in v1.1.0
func (v TransactionStatusResponse) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*TransactionStatusResponse) UnmarshalEasyJSON ¶ added in v1.1.0
func (v *TransactionStatusResponse) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*TransactionStatusResponse) UnmarshalJSON ¶ added in v1.1.0
func (v *TransactionStatusResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface