package viva type OrderId string func (o OrderId) MarshalJSON() ([]byte, error) { return []byte(o), nil } func (o *OrderId) UnmarshalJSON(value []byte) error { *o = OrderId(value) return nil } type VivaOrderRequest struct { Amount int64 `json:"amount"` Description string `json:"customerTrns"` MerchantDescription string `json:"merchantTrns"` PreAuth bool `json:"preauth"` AllowRecurring bool `json:"allowRecurring"` Source string `json:"sourceCode"` } type VivaOrderResponse struct { OrderId OrderId `json:"orderCode"` } type VivaOAuthResponse struct { AccessToken string `json:"access_token"` ExpiresIn int `json:"expires_in"` } type VivaTransactionCompleteRequest struct { Amount int64 `json:"amount"` CustomerDescription string `json:"customerTrns"` } type VivaTransactionResponse struct { Amount float64 `json:"Amount"` StatusId string `json:"StatusId"` ErrorCode int64 `json:"ErrorCode"` ErrorText string `json:"ErrorText"` EventId int64 `json:"EventId"` Success bool `json:"Success"` }