Documentation
¶
Index ¶
- Variables
- type Action
- type BCABankTransferDetail
- type BCABankTransferDetailFreeText
- type BCABankTransferLangDetail
- type BCAKlikBCADetail
- type BCAKlikPayDetail
- type Bank
- type BankTransferDetail
- type CIMBClicksDetail
- type Callbacks
- type CaptureReq
- type ChargeReq
- type ChargeReqWithMap
- type Client
- type ConvStoreDetail
- type CoreGateway
- func (gateway *CoreGateway) Approve(orderID string) (Response, error)
- func (gateway *CoreGateway) Call(method, path string, body io.Reader, v interface{}) error
- func (gateway *CoreGateway) Cancel(orderID string) (Response, error)
- func (gateway *CoreGateway) CaptureCard(req *CaptureReq) (Response, error)
- func (gateway *CoreGateway) Charge(req *ChargeReq) (Response, error)
- func (gateway *CoreGateway) ChargeWithMap(req *ChargeReqWithMap) (ResponseWithMap, error)
- func (gateway *CoreGateway) Deny(orderID string) (Response, error)
- func (gateway *CoreGateway) DirectRefund(orderID string, req *RefundReq) (Response, error)
- func (gateway *CoreGateway) Expire(orderID string) (Response, error)
- func (gateway *CoreGateway) PreauthCard(req *ChargeReq) (Response, error)
- func (gateway *CoreGateway) Refund(orderID string, req *RefundReq) (Response, error)
- func (gateway *CoreGateway) Status(orderID string) (Response, error)
- func (gateway *CoreGateway) StatusWithMap(orderID string) (ResponseWithMap, error)
- func (gateway *CoreGateway) Subscribe(req *SubscribeReq) (SubscribeResponse, error)
- func (gateway *CoreGateway) SubscribeDetail(subscriptionID string) (SubscribeResponse, error)
- func (gateway *CoreGateway) SubscribeDisable(subscriptionID string) (SubscribeResponse, error)
- func (gateway *CoreGateway) SubscribeEnable(subscriptionID string) (SubscribeResponse, error)
- func (gateway *CoreGateway) SubscribeUpdate(subscriptionID string, req *SubscribeReq) (SubscribeResponse, error)
- type CreditCardDetail
- type CustAddress
- type CustDetail
- type CustomExpiry
- type EnvironmentType
- type ExpiryDetail
- type GopayDetail
- type IndosatDompetkuDetail
- type InstallmentDetail
- type InstallmentTermsDetail
- type IrisApprovePayoutReq
- type IrisApprovePayoutResponse
- type IrisBalanceResponse
- type IrisBankAccountDetailErrorResponse
- type IrisBankAccountDetailResponse
- type IrisBeneficiaries
- type IrisBeneficiariesResponse
- type IrisBeneficiaryBankResponse
- type IrisBeneficiaryBanksResponse
- type IrisCreatePayoutDetailReq
- type IrisCreatePayoutDetailResponse
- type IrisCreatePayoutReq
- type IrisCreatePayoutResponse
- type IrisGateway
- func (gateway *IrisGateway) ApprovePayouts(req IrisApprovePayoutReq) (IrisApprovePayoutResponse, error)
- func (gateway *IrisGateway) Call(method, path string, body io.Reader, v interface{}) error
- func (gateway *IrisGateway) CheckBalance() (IrisBalanceResponse, error)
- func (gateway *IrisGateway) CreateBeneficiaries(req *IrisBeneficiaries) (bool, error)
- func (gateway *IrisGateway) CreatePayouts(req IrisCreatePayoutReq) (IrisCreatePayoutResponse, error)
- func (gateway *IrisGateway) GetListBeneficiaries() ([]IrisBeneficiaries, error)
- func (gateway *IrisGateway) GetListBeneficiaryBank() (IrisBeneficiaryBanksResponse, error)
- func (gateway *IrisGateway) GetPayoutDetails(referenceNo string) (IrisPayoutDetailResponse, error)
- func (gateway *IrisGateway) GetPayoutHistory(fromDate string, toDate string) ([]IrisPayoutDetailResponse, error)
- func (gateway *IrisGateway) RejectPayouts(req IrisRejectPayoutReq) (IrisRejectPayoutResponse, error)
- func (gateway *IrisGateway) UpdateBeneficiaries(aliasName string, req *IrisBeneficiaries) (bool, error)
- func (gateway *IrisGateway) ValidateBankAccount(bankName string, accountNo string) (IrisBankAccountDetailResponse, error)
- type IrisPayoutDetailResponse
- type IrisRejectPayoutReq
- type IrisRejectPayoutResponse
- type ItemDetail
- type MandiriBillBankTransferDetail
- type MandiriClickPayDetail
- type MandiriEcashDetail
- type PaymentType
- type PermataBankTransferDetail
- type Refund
- type RefundReq
- type Response
- type ResponseWithMap
- type ScheduleDetailReq
- type ScheduleDetailResponse
- type ShopeePayDetail
- type SnapGateway
- func (gateway *SnapGateway) Call(method, path string, body io.Reader, v interface{}) error
- func (gateway *SnapGateway) GetToken(r *SnapReq) (SnapResponse, error)
- func (gateway *SnapGateway) GetTokenQuick(orderID string, grossAmount int64) (SnapResponse, error)
- func (gateway *SnapGateway) GetTokenQuickWithMap(orderID string, grossAmount int64) (ResponseWithMap, error)
- func (gateway *SnapGateway) GetTokenWithMap(r *SnapReqWithMap) (ResponseWithMap, error)
- type SnapReq
- type SnapReqWithMap
- type SnapResponse
- type SubscribeReq
- type SubscribeResponse
- type TelkomselCashDetail
- type TransactionDetails
- type VANumber
Constants ¶
This section is empty.
Variables ¶
var AllPaymentSource = []PaymentType{ SourceGopay, SourceCreditCard, SourceMandiriClickpay, SourceCimbClicks, SourceDanamonOnline, SourceKlikBca, SourceBcaKlikpay, SourceBriEpay, SourceTelkomselCash, SourceEchannel, SourceIndosatDompetku, SourceMandiriEcash, SourceBNIVA, SourcePermataVA, SourceBCAVA, SourceIndomaret, SourceKioson, SourceGiftCardIndo, SourceShopeePay, }
AllPaymentSource : Get All available PaymentType
Functions ¶
This section is empty.
Types ¶
type Action ¶
type Action struct {
Name string `json:"name"`
Method string `json:"method"`
URL string `json:"url"`
}
Action represents response action
type BCABankTransferDetail ¶
type BCABankTransferDetail struct {
Bank Bank `json:"bank"`
VaNumber string `json:"va_number"`
FreeText BCABankTransferDetailFreeText `json:"free_text"`
}
BCABankTransferDetail : Represent BCA bank_transfer detail
type BCABankTransferDetailFreeText ¶
type BCABankTransferDetailFreeText struct {
Inquiry []BCABankTransferLangDetail `json:"inquiry,omitempty"`
Payment []BCABankTransferLangDetail `json:"payment,omitempty"`
}
BCABankTransferDetailFreeText : Represent BCA bank_transfer detail free_text
type BCABankTransferLangDetail ¶
type BCABankTransferLangDetail struct {
LangID string `json:"id,omitempty"`
LangEN string `json:"en,omitempty"`
}
BCABankTransferLangDetail : Represent BCA bank_transfer lang detail
type BCAKlikBCADetail ¶
BCAKlikBCADetail : Represent BCA KlikBCA detail
type BCAKlikPayDetail ¶
type BCAKlikPayDetail struct {
// 1 = normal, 2 = installment, 3 = normal + installment
Type string `json:"type"`
Desc string `json:"description"`
MiscFee int64 `json:"misc_fee,omitempty"`
}
BCAKlikPayDetail : Represent Internet Banking for BCA KlikPay
type Bank ¶
type Bank string
Bank value
const ( //BankBni : bni BankBni Bank = "bni" //BankMandiri : mandiri BankMandiri Bank = "mandiri" //BankCimb : cimb BankCimb Bank = "cimb" //BankBca : bca BankBca Bank = "bca" //BankBri : bri BankBri Bank = "bri" //BankMaybank : maybank BankMaybank Bank = "maybank" //BankPermata : permata BankPermata Bank = "permata" )
type BankTransferDetail ¶
type BankTransferDetail struct {
Bank Bank `json:"bank,omitempty"`
VaNumber string `json:"va_number,omitempty"`
FreeText *BCABankTransferDetailFreeText `json:"free_text,omitempty"`
*MandiriBillBankTransferDetail
}
BankTransferDetail : Represent bank_transfer detail
type CIMBClicksDetail ¶
type CIMBClicksDetail struct {
Desc string `json:"description"`
}
CIMBClicksDetail : Represent CIMB Clicks detail
type CaptureReq ¶
type CaptureReq struct {
TransactionID string `json:"transaction_id"`
GrossAmt float64 `json:"gross_amount"`
}
CaptureReq : Represent Capture request payload
type ChargeReq ¶
type ChargeReq struct {
PaymentType PaymentType `json:"payment_type"`
TransactionDetails TransactionDetails `json:"transaction_details"`
CreditCard *CreditCardDetail `json:"credit_card,omitempty"`
BankTransfer *BankTransferDetail `json:"bank_transfer,omitempty"`
MandiriBillBankTransferDetail *MandiriBillBankTransferDetail `json:"echannel,omitempty"`
BCAKlikPay *BCAKlikPayDetail `json:"bca_klikpay,omitempty"`
BCAKlikBCA *BCAKlikBCADetail `json:"bca_klikbca,omitempty"`
MandiriClickPay *MandiriClickPayDetail `json:"mandiri_clickpay,omitempty"`
MandiriEcash *MandiriEcashDetail `json:"mandiri_ecash,omitempty"`
CIMBClicks *CIMBClicksDetail `json:"cimb_clicks,omitempty"`
TelkomselCash *TelkomselCashDetail `json:"telkomsel_cash,omitempty"`
IndosatDompetku *IndosatDompetkuDetail `json:"indosat_dompetku,omitempty"`
CustomerDetail *CustDetail `json:"customer_details,omitempty"`
ConvStore *ConvStoreDetail `json:"cstore,omitempty"`
Gopay *GopayDetail `json:"gopay,omitempty"`
ShopeePay *ShopeePayDetail `json:"shopeepay,omitempty"`
Items *[]ItemDetail `json:"item_details,omitempty"`
CustField1 string `json:"custom_field1,omitempty"`
CustField2 string `json:"custom_field2,omitempty"`
CustField3 string `json:"custom_field3,omitempty"`
CustomExpiry *CustomExpiry `json:"custom_expiry,omitempty"`
}
ChargeReq : Represent Charge request payload
type ChargeReqWithMap ¶
type ChargeReqWithMap map[string]interface{}
ChargeReqWithMap : Represent Charge request with map payload
type Client ¶
type Client struct {
APIEnvType EnvironmentType
ClientKey string
ServerKey string
LogLevel int
Logger *log.Logger
}
Client struct
func NewClient ¶
func NewClient() Client
NewClient : this function will always be called when the library is in use
func (*Client) Call ¶
Call the Midtrans API at specific `path` using the specified HTTP `method`. The result will be given to `v` if there is no error. If any error occurred, the return of this function is the error itself, otherwise nil.
func (*Client) ExecuteRequest ¶
ExecuteRequest : execute request
type ConvStoreDetail ¶
ConvStoreDetail : Represent cstore detail
type CoreGateway ¶
type CoreGateway struct {
Client Client
}
CoreGateway struct
func (*CoreGateway) Approve ¶
func (gateway *CoreGateway) Approve(orderID string) (Response, error)
Approve : Approve order using order ID
func (*CoreGateway) Call ¶
func (gateway *CoreGateway) Call(method, path string, body io.Reader, v interface{}) error
Call : base method to call Core API
func (*CoreGateway) Cancel ¶
func (gateway *CoreGateway) Cancel(orderID string) (Response, error)
Cancel : Cancel order using order ID
func (*CoreGateway) CaptureCard ¶
func (gateway *CoreGateway) CaptureCard(req *CaptureReq) (Response, error)
CaptureCard : Capture an authorized transaction for card payment
func (*CoreGateway) Charge ¶
func (gateway *CoreGateway) Charge(req *ChargeReq) (Response, error)
Charge : Perform transaction using ChargeReq
func (*CoreGateway) ChargeWithMap ¶
func (gateway *CoreGateway) ChargeWithMap(req *ChargeReqWithMap) (ResponseWithMap, error)
ChargeWithMap : Perform transaction using ChargeReqWithMap
func (*CoreGateway) Deny ¶
func (gateway *CoreGateway) Deny(orderID string) (Response, error)
Deny : Deny a transaction using order ID which gets challenge status from Fraud Detection System
func (*CoreGateway) DirectRefund ¶
func (gateway *CoreGateway) DirectRefund(orderID string, req *RefundReq) (Response, error)
DirectRefund : refund order using order ID
func (*CoreGateway) Expire ¶
func (gateway *CoreGateway) Expire(orderID string) (Response, error)
Expire : change order status to expired using order ID
func (*CoreGateway) PreauthCard ¶
func (gateway *CoreGateway) PreauthCard(req *ChargeReq) (Response, error)
PreauthCard : Perform authorized transactions using ChargeReq
func (*CoreGateway) Refund ¶
func (gateway *CoreGateway) Refund(orderID string, req *RefundReq) (Response, error)
Refund : refund order using order ID
func (*CoreGateway) Status ¶
func (gateway *CoreGateway) Status(orderID string) (Response, error)
Status : get order status using order ID
func (*CoreGateway) StatusWithMap ¶
func (gateway *CoreGateway) StatusWithMap(orderID string) (ResponseWithMap, error)
StatusWithMap : get order status using order ID
func (*CoreGateway) Subscribe ¶
func (gateway *CoreGateway) Subscribe(req *SubscribeReq) (SubscribeResponse, error)
Subscribe : Perform transaction using subscriptions
func (*CoreGateway) SubscribeDetail ¶
func (gateway *CoreGateway) SubscribeDetail(subscriptionID string) (SubscribeResponse, error)
SubscribeDetail : Perform get subscription details
func (*CoreGateway) SubscribeDisable ¶
func (gateway *CoreGateway) SubscribeDisable(subscriptionID string) (SubscribeResponse, error)
SubscribeDisable : Perform disable a subscription
func (*CoreGateway) SubscribeEnable ¶
func (gateway *CoreGateway) SubscribeEnable(subscriptionID string) (SubscribeResponse, error)
SubscribeEnable : Perform enable a subscription
func (*CoreGateway) SubscribeUpdate ¶
func (gateway *CoreGateway) SubscribeUpdate(subscriptionID string, req *SubscribeReq) (SubscribeResponse, error)
SubscribeUpdate : Perform update a subscription
type CreditCardDetail ¶
type CreditCardDetail struct {
Secure bool `json:"secure,omitempty"`
TokenID string `json:"token_id"`
Bank string `json:"bank,omitempty"`
Bins []string `json:"bins,omitempty"`
WhitelistBins []string `json:"whitelist_bins,omitempty"`
Installment *InstallmentDetail `json:"installment,omitempty"`
InstallmentTerm int8 `json:"installment_term,omitempty"`
Type string `json:"type,omitempty"`
// indicate if generated token should be saved for next charge
SaveCard bool `json:"save_card,omitempty"`
CardToken string `json:"card_token,omitempty"`
SaveTokenID bool `json:"save_token_id,omitempty"`
SavedTokenIDExpireAt string `json:"saved_token_id_expired_at,omitempty"`
Authentication bool `json:"authentication,omitempty"`
}
CreditCardDetail : Represent credit card detail
type CustAddress ¶
type CustAddress struct {
FName string `json:"first_name"`
LName string `json:"last_name"`
Phone string `json:"phone"`
Address string `json:"address"`
City string `json:"city"`
Postcode string `json:"postal_code"`
CountryCode string `json:"country_code"`
}
CustAddress : Represent the customer address
type CustDetail ¶
type CustDetail struct {
// first name
FName string `json:"first_name,omitempty"`
// last name
LName string `json:"last_name,omitempty"`
Email string `json:"email,omitempty"`
Phone string `json:"phone,omitempty"`
BillAddr *CustAddress `json:"billing_address,omitempty"`
ShipAddr *CustAddress `json:"customer_address,omitempty"`
}
CustDetail : Represent the customer detail
type CustomExpiry ¶
type CustomExpiry struct {
OrderTime string `json:"order_time,omitempty"`
ExpiryDuration int `json:"expiry_duration,omitempty"`
Unit string `json:"unit,omitempty"`
}
CustomExpiry : Represent Core API custom_expiry
type EnvironmentType ¶
type EnvironmentType int8
EnvironmentType value
const ( // Sandbox : represent sandbox environment Sandbox EnvironmentType // Production : represent production environment Production )
func (EnvironmentType) IrisURL ¶
func (e EnvironmentType) IrisURL() string
IrisURL : Get environment API URL
func (EnvironmentType) SnapURL ¶
func (e EnvironmentType) SnapURL() string
SnapURL : Get environment API URL
type ExpiryDetail ¶
type ExpiryDetail struct {
StartTime string `json:"start_time,omitempty"`
Unit string `json:"unit"`
Duration int64 `json:"duration"`
}
ExpiryDetail : Represent SNAP expiry details
type GopayDetail ¶
type GopayDetail struct {
EnableCallback bool `json:"enable_callback"`
CallbackUrl string `json:"callback_url"`
}
GopayDetail : Represent gopay detail
type IndosatDompetkuDetail ¶
type IndosatDompetkuDetail struct {
MSISDN string `json:"msisdn"`
}
IndosatDompetkuDetail : Represent Indosat Dompetku detail
type InstallmentDetail ¶
type InstallmentDetail struct {
Required bool `json:"required"`
Terms *InstallmentTermsDetail `json:"terms"`
}
InstallmentDetail : Represent installment detail
type InstallmentTermsDetail ¶
type InstallmentTermsDetail struct {
Bni []int8 `json:"bni,omitempty"`
Mandiri []int8 `json:"mandiri,omitempty"`
Cimb []int8 `json:"cimb,omitempty"`
Mega []int8 `json:"mega,omitempty"`
Bca []int8 `json:"bca,omitempty"`
Bri []int8 `json:"bri,omitempty"`
Maybank []int8 `json:"maybank,omitempty"`
Offline []int8 `json:"offline,omitempty"`
}
InstallmentTermsDetail : Represent installment available banks
type IrisApprovePayoutReq ¶
type IrisApprovePayoutReq struct {
ReferenceNo []string `json:"reference_nos"`
OTP string `json:"otp"`
}
IrisApprovePayoutReq : Represent Approve Payout payload
type IrisApprovePayoutResponse ¶
type IrisApprovePayoutResponse struct {
Status string `json:"status"`
ErrorMessage string `json:"error_message"`
Errors []string `json:"errors"`
}
IrisApprovePayoutResponse : Represent Approve payout response payload
type IrisBalanceResponse ¶
type IrisBalanceResponse struct {
Balance string `json:"balance"`
}
IrisBalanceResponse : Represent balance detail response payload
type IrisBankAccountDetailErrorResponse ¶
type IrisBankAccountDetailErrorResponse struct {
Account []string `json:"account"`
Bank []string `json:"bank"`
}
IrisBankAccountDetailErrorResponse : Represent Bank account detail error payload
type IrisBankAccountDetailResponse ¶
type IrisBankAccountDetailResponse struct {
AccountName string `json:"account_name"`
AccountNo string `json:"account_no"`
BankName string `json:"bank_name"`
ErrorMessage string `json:"error_message"`
Errors *IrisBankAccountDetailErrorResponse `json:"errors"`
}
IrisBankAccountDetailResponse : Represent Bank account detail payload
type IrisBeneficiaries ¶
type IrisBeneficiaries struct {
Name string `json:"name"`
Account string `json:"account"`
Bank string `json:"bank"`
AliasName string `json:"alias_name"`
Email string `json:"email"`
}
IrisBeneficiaries : Beneficiaries request (create, update, list) https://iris-docs.midtrans.com/#create-beneficiaries https://iris-docs.midtrans.com/#update-beneficiaries https://iris-docs.midtrans.com/#list-beneficiaries
type IrisBeneficiariesResponse ¶
type IrisBeneficiariesResponse struct {
Status string `json:"status"`
StatusCode string `json:"status_code"`
Errors []string `json:"errors"`
}
IrisBeneficiariesResponse : Represent Beneficiaries response payload
type IrisBeneficiaryBankResponse ¶
IrisBeneficiaryBankResponse : Represent Beneficiary bank response payload
type IrisBeneficiaryBanksResponse ¶
type IrisBeneficiaryBanksResponse struct {
BeneficiaryBanks []IrisBeneficiaryBankResponse `json:"beneficiary_banks"`
StatusCode string `json:"status_code"`
}
IrisBeneficiaryBanksResponse : Show list of supported banks in IRIS. https://iris-docs.midtrans.com/#list-banks
type IrisCreatePayoutDetailReq ¶
type IrisCreatePayoutDetailReq struct {
BeneficiaryName string `json:"beneficiary_name"`
BeneficiaryAccount string `json:"beneficiary_account"`
BeneficiaryBank string `json:"beneficiary_bank"`
BeneficiaryEmail string `json:"beneficiary_email"`
Amount string `json:"amount"`
Notes string `json:"notes"`
}
IrisCreatePayoutDetailReq : Represent Create Payout detail payload
type IrisCreatePayoutDetailResponse ¶
type IrisCreatePayoutDetailResponse struct {
Status string `json:"status"`
ReferenceNo string `json:"reference_no"`
}
IrisCreatePayoutDetailResponse : Represent Create payout detail response payload
type IrisCreatePayoutReq ¶
type IrisCreatePayoutReq struct {
Payouts []IrisCreatePayoutDetailReq `json:"payouts"`
}
IrisCreatePayoutReq : Represent Create Payout request payload
type IrisCreatePayoutResponse ¶
type IrisCreatePayoutResponse struct {
Payouts []IrisCreatePayoutDetailResponse `json:"payouts"`
ErrorMessage string `json:"error_message"`
Errors []string `json:"errors"`
}
IrisCreatePayoutResponse : Represent Create payout response payload
type IrisGateway ¶
type IrisGateway struct {
Client Client
}
IrisGateway struct
func (*IrisGateway) ApprovePayouts ¶
func (gateway *IrisGateway) ApprovePayouts(req IrisApprovePayoutReq) (IrisApprovePayoutResponse, error)
ApprovePayouts : Use this API for Apporver to approve multiple payout request. (https://iris-docs.midtrans.com/#approve-payouts)
func (*IrisGateway) Call ¶
func (gateway *IrisGateway) Call(method, path string, body io.Reader, v interface{}) error
Call : base method to call IRIS API
func (*IrisGateway) CheckBalance ¶
func (gateway *IrisGateway) CheckBalance() (IrisBalanceResponse, error)
CheckBalance : Check Balance (Aggregator) (https://iris-docs.midtrans.com/#check-balance-aggregator)
func (*IrisGateway) CreateBeneficiaries ¶
func (gateway *IrisGateway) CreateBeneficiaries(req *IrisBeneficiaries) (bool, error)
CreateBeneficiaries : Create Beneficiaries (https://iris-docs.midtrans.com/#create-beneficiaries)
func (*IrisGateway) CreatePayouts ¶
func (gateway *IrisGateway) CreatePayouts(req IrisCreatePayoutReq) (IrisCreatePayoutResponse, error)
CreatePayouts : This API is for Creator to create a payout. It can be used for single payout and also multiple payouts. (https://iris-docs.midtrans.com/#create-payouts)
func (*IrisGateway) GetListBeneficiaries ¶
func (gateway *IrisGateway) GetListBeneficiaries() ([]IrisBeneficiaries, error)
GetListBeneficiaries : Get List Beneficiaries (https://iris-docs.midtrans.com/#list-beneficiaries)
func (*IrisGateway) GetListBeneficiaryBank ¶
func (gateway *IrisGateway) GetListBeneficiaryBank() (IrisBeneficiaryBanksResponse, error)
GetListBeneficiaryBank : Show list of supported banks in IRIS. (https://iris-docs.midtrans.com/#list-banks)
func (*IrisGateway) GetPayoutDetails ¶
func (gateway *IrisGateway) GetPayoutDetails(referenceNo string) (IrisPayoutDetailResponse, error)
GetPayoutDetails : Get details of a single payout (https://iris-docs.midtrans.com/#get-payout-details)
func (*IrisGateway) GetPayoutHistory ¶
func (gateway *IrisGateway) GetPayoutHistory(fromDate string, toDate string) ([]IrisPayoutDetailResponse, error)
GetPayoutHistory : Returns all the payout details for specific dates (https://iris-docs.midtrans.com/#payout-history)
func (*IrisGateway) RejectPayouts ¶
func (gateway *IrisGateway) RejectPayouts(req IrisRejectPayoutReq) (IrisRejectPayoutResponse, error)
RejectPayouts : Use this API for Apporver to reject multiple payout request. (https://iris-docs.midtrans.com/#reject-payouts)
func (*IrisGateway) UpdateBeneficiaries ¶
func (gateway *IrisGateway) UpdateBeneficiaries(aliasName string, req *IrisBeneficiaries) (bool, error)
UpdateBeneficiaries : Update Beneficiaries (https://iris-docs.midtrans.com/#update-beneficiaries)
func (*IrisGateway) ValidateBankAccount ¶
func (gateway *IrisGateway) ValidateBankAccount(bankName string, accountNo string) (IrisBankAccountDetailResponse, error)
ValidateBankAccount : Check if an account is valid, if valid return account information. (https://iris-docs.midtrans.com/#validate-bank-account)
type IrisPayoutDetailResponse ¶
type IrisPayoutDetailResponse struct {
Amount string `json:"amount"`
BeneficiaryName string `json:"beneficiary_name"`
BeneficiaryAccount string `json:"beneficiary_account"`
Bank string `json:"bank"`
ReferenceNo string `json:"reference_no"`
Notes string `json:"notes"`
BeneficiaryEmail string `json:"beneficiary_email"`
Status string `json:"status"`
CreatedBy string `json:"created_by"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
ErrorMessage string `json:"error_message"`
Errors string `json:"errors"`
}
IrisPayoutDetailResponse : Represent Payout detail response payload
type IrisRejectPayoutReq ¶
type IrisRejectPayoutReq struct {
ReferenceNo []string `json:"reference_nos"`
RejectReason string `json:"reject_reason"`
}
IrisRejectPayoutReq : Represent Reject Payout payload
type IrisRejectPayoutResponse ¶
type IrisRejectPayoutResponse struct {
Status string `json:"status"`
ErrorMessage string `json:"error_message"`
Errors []string `json:"errors"`
}
IrisRejectPayoutResponse : Represent Reject payout response payload
type ItemDetail ¶
type ItemDetail struct {
ID string `json:"id"`
Name string `json:"name"`
Price int64 `json:"price"`
Qty int32 `json:"quantity"`
Brand string `json:"brand,omitempty"`
Category string `json:"category,omitempty"`
MerchantName string `json:"merchant_name,omitempty"`
}
ItemDetail : Represent the transaction details
type MandiriBillBankTransferDetail ¶
type MandiriBillBankTransferDetail struct {
BillInfo1 string `json:"bill_info1,omitempty"`
BillInfo2 string `json:"bill_info2,omitempty"`
}
MandiriBillBankTransferDetail : Represent Mandiri Bill bank_transfer detail
type MandiriClickPayDetail ¶
type MandiriClickPayDetail struct {
TokenID string `json:"token_id"`
Input1 string `json:"input1"`
Input2 string `json:"input2"`
Input3 string `json:"input3"`
Token string `json:"token"`
}
MandiriClickPayDetail : Represent Mandiri ClickPay detail
type MandiriEcashDetail ¶
type MandiriEcashDetail struct {
Desc string `json:"description"`
}
MandiriEcashDetail : Represent Mandiri e-Cash detail
type PaymentType ¶
type PaymentType string
PaymentType value
const ( // SourceBankTransfer : bank_transfer SourceBankTransfer PaymentType = "bank_transfer" // SourceBNIVA : bni_va SourceBNIVA PaymentType = "bni_va" // SourcePermataVA : permata_va SourcePermataVA PaymentType = "permata_va" // SourceBCAVA : bca_va SourceBCAVA PaymentType = "bca_va" // SourceOtherVA : other_va SourceOtherVA PaymentType = "other_va" // SourceBcaKlikpay : bca_klikpay SourceBcaKlikpay PaymentType = "bca_klikpay" // SourceBriEpay : bri_epay SourceBriEpay PaymentType = "bri_epay" // SourceCreditCard : credit_card SourceCreditCard PaymentType = "credit_card" // SourceCimbClicks : cimb_clicks SourceCimbClicks PaymentType = "cimb_clicks" // SourceDanamonOnline : danamon_online SourceDanamonOnline PaymentType = "danamon_online" // SourceConvStore : cstore SourceConvStore PaymentType = "cstore" // SourceKlikBca : bca_klikbca SourceKlikBca PaymentType = "bca_klikbca" // SourceEchannel : echannel SourceEchannel PaymentType = "echannel" // SourceMandiriClickpay : mandiri_clickpay SourceMandiriClickpay PaymentType = "mandiri_clickpay" // SourceTelkomselCash : telkomsel_cash SourceTelkomselCash PaymentType = "telkomsel_cash" // SourceIndosatDompetku : indosat_dompetku SourceIndosatDompetku PaymentType = "indosat_dompetku" // SourceMandiriEcash : mandiri_ecash SourceMandiriEcash PaymentType = "mandiri_ecash" // SourceKioson : kioson SourceKioson PaymentType = "kioson" // SourceIndomaret : indomaret SourceIndomaret PaymentType = "indomaret" // SourceAlfamart : alfamart SourceAlfamart PaymentType = "alfamart" // SourceGiftCardIndo : gci SourceGiftCardIndo PaymentType = "gci" // SourceGopay : gopay SourceGopay PaymentType = "gopay" // SourceShopeePay : shopeepay SourceShopeePay PaymentType = "shopeepay" // SourceAkulaku : akulaku SourceAkulaku PaymentType = "akulaku" )
type PermataBankTransferDetail ¶
type PermataBankTransferDetail struct {
Bank Bank `json:"bank"`
}
PermataBankTransferDetail : Represent Permata bank_transfer detail
type Refund ¶
type Refund struct {
RefundChargebackID int `json:"refund_chargeback_id"`
RefundAmount string `json:"refund_amount"`
Reason string `json:"reason"`
RefundKey string `json:"refund_key"`
RefundMethod string `json:"refund_method"`
BankConfirmedAt string `json:"bank_confirmed_at"`
CreatedAt string `json:"created_at"`
}
Refund Details
type RefundReq ¶
type RefundReq struct {
RefundKey string `json:"refund_key"`
Amount int64 `json:"amount"`
Reason string `json:"reason"`
}
RefundReq : Represent Refund request payload
type Response ¶
type Response struct {
StatusCode string `json:"status_code"`
StatusMessage string `json:"status_message"`
PermataVaNumber string `json:"permata_va_number"`
SignKey string `json:"signature_key"`
CardToken string `json:"token_id"`
SavedCardToken string `json:"saved_token_id"`
SavedTokenExpAt string `json:"saved_token_id_expired_at"`
SecureToken bool `json:"secure_token"`
Bank string `json:"bank"`
BillerCode string `json:"biller_code"`
BillKey string `json:"bill_key"`
XlTunaiOrderID string `json:"xl_tunai_order_id"`
BIIVaNumber string `json:"bii_va_number"`
ReURL string `json:"redirect_url"`
ECI string `json:"eci"`
ValMessages []string `json:"validation_messages"`
Page int `json:"page"`
TotalPage int `json:"total_page"`
TotalRecord int `json:"total_record"`
FraudStatus string `json:"fraud_status"`
PaymentType string `json:"payment_type"`
OrderID string `json:"order_id"`
TransactionID string `json:"transaction_id"`
TransactionTime string `json:"transaction_time"`
TransactionStatus string `json:"transaction_status"`
GrossAmount string `json:"gross_amount"`
VANumbers []VANumber `json:"va_numbers"`
PaymentCode string `json:"payment_code"`
Store string `json:"store"`
MerchantID string `json:"merchant_id"`
MaskedCard string `json:"masked_card"`
Currency string `json:"currency"`
CardType string `json:"card_type"`
Actions []Action `json:"actions"`
RefundChargebackID int `json:"refund_chargeback_id"`
RefundAmount string `json:"refund_amount"`
RefundKey string `json:"refund_key"`
Refunds []Refund `json:"refunds"`
ChannelResponseCode string `json:"channel_response_code"`
ChannelStatusMessage string `json:"channel_status_message"`
}
Response after calling the API
type ResponseWithMap ¶
type ResponseWithMap map[string]interface{}
ResponseWithMap after calling the API
type ScheduleDetailReq ¶
type ScheduleDetailReq struct {
Interval int `json:"interval"`
MaxInterval int `json:"max_interval"`
IntervalUnit string `json:"interval_unit"`
StartTime string `json:"start_time"`
}
ScheduleDetailReq : Represent Schedule object payload
type ScheduleDetailResponse ¶
type ShopeePayDetail ¶
type ShopeePayDetail struct {
CallbackUrl string `json:"callback_url,omitempty"`
}
ShopeePayDetail : Represent shopeepay detail
type SnapGateway ¶
type SnapGateway struct {
Client Client
}
SnapGateway struct
func (*SnapGateway) Call ¶
func (gateway *SnapGateway) Call(method, path string, body io.Reader, v interface{}) error
Call : base method to call Snap API
func (*SnapGateway) GetToken ¶
func (gateway *SnapGateway) GetToken(r *SnapReq) (SnapResponse, error)
GetToken : Get token by consuming SnapReq
func (*SnapGateway) GetTokenQuick ¶
func (gateway *SnapGateway) GetTokenQuick(orderID string, grossAmount int64) (SnapResponse, error)
GetTokenQuick : Quickly get token without constructing the body manually
func (*SnapGateway) GetTokenQuickWithMap ¶
func (gateway *SnapGateway) GetTokenQuickWithMap(orderID string, grossAmount int64) (ResponseWithMap, error)
GetTokenQuickWithMap : Quickly get token without constructing the body manually
func (*SnapGateway) GetTokenWithMap ¶
func (gateway *SnapGateway) GetTokenWithMap(r *SnapReqWithMap) (ResponseWithMap, error)
GetTokenWithMap : Get token by consuming SnapReqWithMap
type SnapReq ¶
type SnapReq struct {
TransactionDetails TransactionDetails `json:"transaction_details"`
EnabledPayments []PaymentType `json:"enabled_payments,omitempty"`
Callbacks *Callbacks `json:"callbacks"`
Items *[]ItemDetail `json:"item_details,omitempty"`
CustomerDetail *CustDetail `json:"customer_details,omitempty"`
Expiry *ExpiryDetail `json:"expiry,omitempty"`
CreditCard *CreditCardDetail `json:"credit_card,omitempty"`
Gopay *GopayDetail `json:"gopay,omitempty"`
ShopeePay *ShopeePayDetail `json:"shopeepay,omitempty"`
UserId string `json:"user_id,omitempty"`
CustomField1 string `json:"custom_field1,omitempty"`
CustomField2 string `json:"custom_field2,omitempty"`
CustomField3 string `json:"custom_field3,omitempty"`
}
SnapReq : Represent SNAP API request payload
type SnapReqWithMap ¶
type SnapReqWithMap map[string]interface{}
SnapReqWithMap : Represent snap request with map payload
type SnapResponse ¶
type SnapResponse struct {
StatusCode string `json:"status_code"`
Token string `json:"token"`
RedirectURL string `json:"redirect_url"`
ErrorMessages []string `json:"error_messages"`
}
SnapResponse : Response after calling the Snap API
type SubscribeReq ¶
type SubscribeReq struct {
Name string `json:"name"`
Amount string `json:"amount"`
Currency string `json:"currency"`
Token string `json:"token"`
PaymentType PaymentType `json:"payment_type"`
Schedule ScheduleDetailReq `json:"schedule"`
}
SubscribeReq : Represent Subscribe object payload (request and response)
type SubscribeResponse ¶
type SubscribeResponse struct {
ID string `json:"id"`
CreatedAt string `json:"created_at"`
Status string `json:"status"`
Name string `json:"name"`
Amount string `json:"amount"`
Currency string `json:"currency"`
Token string `json:"token"`
PaymentType PaymentType `json:"payment_type"`
Schedule ScheduleDetailResponse `json:"schedule"`
StatusMessage string `json:"status_message"`
TransactionIDs []string `json:"transaction_ids"`
}
type TelkomselCashDetail ¶
type TelkomselCashDetail struct {
Promo bool `json:"promo"`
IsReversal int8 `json:"is_reversal"`
Customer string `json:"customer"`
}
TelkomselCashDetail : Represent Telkomsel Cash detail
type TransactionDetails ¶
type TransactionDetails struct {
OrderID string `json:"order_id"`
GrossAmt int64 `json:"gross_amount"`
}
TransactionDetails : Represent transaction details