Documentation ¶
Index ¶
- Constants
- type B2BRequest
- type B2BResponse
- type B2CEntry
- type B2CRequest
- type B2CResponse
- type Bank
- type BankAccount
- type BankCheckoutRequest
- type BankCode
- type BankEntry
- type BankTransferRequest
- type BankTransferResponse
- type BankValidateCheckoutRequest
- type Business
- type Card
- type CardCheckoutRequest
- type CardValidateCheckoutRequest
- type CheckoutRequest
- type CheckoutResponse
- type CheckoutValidateRequest
- type CheckoutValidateResponse
- type Consumer
- type MobileCheckoutRequest
- type Service
- func (service Service) BankCheckoutCharge(body BankCheckoutRequest) (*CheckoutResponse, error)
- func (service Service) BankCheckoutValidate(body BankValidateCheckoutRequest) (*CheckoutValidateResponse, error)
- func (service Service) BankTransfer(body BankTransferRequest) (*BankTransferResponse, error)
- func (service Service) CardCheckoutCharge(body CardCheckoutRequest) (*CheckoutResponse, error)
- func (service Service) CardCheckoutValidate(body CardValidateCheckoutRequest) (*CheckoutValidateResponse, error)
- func (service Service) MobileCheckout(body MobileCheckoutRequest) (*CheckoutResponse, error)
- func (service Service) RequestB2B(body B2BRequest) (*B2BResponse, error)
- func (service Service) RequestB2C(body B2CRequest) (*B2CResponse, error)
Constants ¶
const ( ProviderMpesa = "Mpesa" ProviderAthena = "Athena" TransferTypeBuyGoods = "BusinessBuyGoods" TransferTypePayBill = "BusinessPayBill" TransferTypeDisburse = "DisburseFundsToBusiness" TransferTypeB2B = "BusinessToBusinessTransfer" ReasonSalary = "SalaryPayment" ReasonSalaryWithCharge = "SalaryPaymentWithWithdrawalChargePaid" ReasonBusiness = "BusinessPayment" ReasonBusinessWithCharge = "BusinessPaymentWithWithdrawalChargePaid" ReasonPromotion = "PromotionPayment" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type B2BRequest ¶
type B2BRequest struct { Username string `json:"username"` ProductName string `json:"productName"` Business }
B2BRequest is a model
type B2BResponse ¶
type B2BResponse struct { Status string `json:"status"` TransactionID string `json:"transactionId"` TransactionFee string `json:"transactionFee"` ProviderChannel string `json:"providerChannel"` }
B2BResponse is a service
type B2CEntry ¶
type B2CEntry struct { PhoneNumber string `json:"phoneNumber"` Status string `json:"status"` Provider string `json:"provider"` ProviderChannel string `json:"providerChannel"` Value string `json:"value"` TransactionID string `json:"transactionId"` TransactionFee string `json:"transactionFee"` ErrorMessage string `json:"errorMessage"` }
B2CEntry is a model
type B2CRequest ¶
type B2CRequest struct { Username string `json:"username"` ProductName string `json:"productName"` Recipients []Consumer `json:"recipients"` }
B2CRequest is a model
type B2CResponse ¶
type B2CResponse struct { NumQueued int `json:"numQueued"` TotalValue string `json:"totalValue"` TotalTransactionFee string `json:"totalTransactionFee"` Entries []B2CEntry `json:"entries"` }
B2CResponse is a service
type Bank ¶
type Bank struct { CurrencyCode string `json:"currencyCode"` Amount float64 `json:"amount"` BankAccount BankAccount `json:"bankAccount"` Narration string `json:"narration"` Metadata map[string]string `json:"metadata"` }
Bank is a.. Bank
type BankAccount ¶
type BankAccount struct { AccountName string `json:"accountName"` AccountNumber string `json:"accountNumber"` BankCode BankCode `json:"bankCode"` DateOfBirth string `json:"dateOfBirth"` }
BankAccount is a model
type BankCheckoutRequest ¶
type BankCheckoutRequest struct { CheckoutRequest BankAccount BankAccount `json:"bankAccount"` }
BankCheckoutRequest is just a req
type BankCode ¶
type BankCode int
BankCode really?
const ( FCMB_NG BankCode = 234001 Zenith_NG BankCode = 234002 Access_NG BankCode = 234003 GTBank_NG BankCode = 234004 Ecobank_NG BankCode = 234005 Diamond_NG BankCode = 234006 Providus_NG BankCode = 234007 Unity_NG BankCode = 234008 Stanbic_NG BankCode = 234009 Sterling_NG BankCode = 234010 Parkway_NG BankCode = 234011 Afribank_NG BankCode = 234012 Enterprise_NG BankCode = 234013 Fidelity_NG BankCode = 234014 Heritage_NG BankCode = 234015 Keystone_NG BankCode = 234016 Skye_NG BankCode = 234017 Stanchart_NG BankCode = 234018 Union_NG BankCode = 234019 Uba_NG BankCode = 234020 Wema_NG BankCode = 234021 First_NG BankCode = 234022 CBA_KE BankCode = 254001 UNKNOWN BankCode = -1 )
type BankEntry ¶
type BankEntry struct { AccountNumber string `json:"accountNumber"` Status string `json:"status"` TransactioID string `json:"transactionId"` TransactionFee string `json:"transactionFee"` ErrorMessage string `json:"errorMessage"` }
BankEntry is a model
type BankTransferRequest ¶
type BankTransferRequest struct { Username string `json:"username"` ProductName string `json:"productName"` Recipients []Bank `json:"recipients"` }
BankTransferRequest is a req
type BankTransferResponse ¶
type BankTransferResponse struct { ErrorMessage string `json:"errorMessage"` Entries []BankEntry `json:"entries"` }
BankTransferResponse is a model
type BankValidateCheckoutRequest ¶
type BankValidateCheckoutRequest struct {
CheckoutValidateRequest
}
BankValidateCheckoutRequest is a req
type Business ¶
type Business struct { CurrencyCode string `json:"currencyCode"` Amount float64 `json:"amount"` Provider string `json:"provider"` TransferType string `json:"transferType"` DestinationChannel string `json:"destinationChannel"` DestinationAccount string `json:"destinationAccount"` Metadata map[string]string `json:"metadata"` }
Business is a business
type Card ¶
type Card struct { Number string `json:"number"` CVVNumber int `json:"cvvNumber"` ExpiryMonth int `json:"expiryMonth"` ExpiryYear int `json:"expiryYear"` CountryCode string `json:"countryCode"` AuthToken string `json:"authToken"` }
Card is a model
type CardCheckoutRequest ¶
type CardCheckoutRequest struct { CheckoutRequest Card Card `json:"paymentCard"` Token string `json:"checkoutToken"` }
CardCheckoutRequest is a checkout type for card payment
type CardValidateCheckoutRequest ¶
type CardValidateCheckoutRequest struct {
CheckoutValidateRequest
}
CardValidateCheckoutRequest is a model
type CheckoutRequest ¶
type CheckoutRequest struct { Username string `json:"username"` ProductName string `json:"productName"` Narration string `json:"narration"` Metadata map[string]string `json:"metadata"` CurrencyCode string `json:"currencyCode"` Amount float64 `json:"amount"` }
CheckoutRequest is a model
type CheckoutResponse ¶
type CheckoutResponse struct { Status string `json:"status"` TransactioID string `json:"transactionId"` Description string `json:"description"` CheckoutToken string `json:"checkoutToken"` }
CheckoutResponse is a model
type CheckoutValidateRequest ¶
type CheckoutValidateRequest struct { Username string `json:"username"` TransactionID string `json:"transactionId"` OTP string `json:"otp"` }
CheckoutValidateRequest is a model
type CheckoutValidateResponse ¶
type CheckoutValidateResponse struct { Status string `json:"status"` Description string `json:"description"` CheckoutToken string `json:"checkoutToken"` }
CheckoutValidateResponse is a model
type Consumer ¶
type Consumer struct { Name string `json:"name"` PhoneNumber string `json:"phoneNumber"` CurrencyCode string `json:"currencyCode"` Amount float64 `json:"amount"` ProviderChannel string `json:"providerChannel"` Reason string `json:"reason"` Metadata map[string]string `json:"metadata"` }
Consumer is a model
type MobileCheckoutRequest ¶
type MobileCheckoutRequest struct { CheckoutRequest PhoneNumber string `json:"phoneNumber"` }
MobileCheckoutRequest is a model
type Service ¶
Service is a service
func NewService ¶
NewService creates a new Service
func (Service) BankCheckoutCharge ¶
func (service Service) BankCheckoutCharge(body BankCheckoutRequest) (*CheckoutResponse, error)
BankCheckoutCharge requests
func (Service) BankCheckoutValidate ¶
func (service Service) BankCheckoutValidate(body BankValidateCheckoutRequest) (*CheckoutValidateResponse, error)
BankCheckoutValidate requests
func (Service) BankTransfer ¶
func (service Service) BankTransfer(body BankTransferRequest) (*BankTransferResponse, error)
BankTransfer requests
func (Service) CardCheckoutCharge ¶
func (service Service) CardCheckoutCharge(body CardCheckoutRequest) (*CheckoutResponse, error)
CardCheckoutCharge requests
func (Service) CardCheckoutValidate ¶
func (service Service) CardCheckoutValidate(body CardValidateCheckoutRequest) (*CheckoutValidateResponse, error)
CardCheckoutValidate requests
func (Service) MobileCheckout ¶
func (service Service) MobileCheckout(body MobileCheckoutRequest) (*CheckoutResponse, error)
MobileCheckout requests
func (Service) RequestB2B ¶
func (service Service) RequestB2B(body B2BRequest) (*B2BResponse, error)
RequestB2B sends a B2B request
func (Service) RequestB2C ¶
func (service Service) RequestB2C(body B2CRequest) (*B2CResponse, error)
RequestB2C sends a B2C request