Yimaru-BackEnd/internal/domain/santimpay.go

82 lines
2.9 KiB
Go

package domain
type GeneratePaymentURLRequest struct {
Amount int `json:"amount"`
Reason string `json:"paymentReason"`
PhoneNumber string `json:"phoneNumber"`
PaymentMethod string `json:"paymentMethod,omitempty"`
}
type InitiatePaymentRequest struct {
ID string `json:"id"`
Amount int `json:"amount"`
Reason string `json:"paymentReason"`
MerchantID string `json:"merchantId"`
SignedToken string `json:"signedToken"`
SuccessRedirectURL string `json:"successRedirectUrl"`
FailureRedirectURL string `json:"failureRedirectUrl"`
NotifyURL string `json:"notifyUrl"`
CancelRedirectURL string `json:"cancelRedirectUrl"`
PhoneNumber string `json:"phoneNumber"`
PaymentMethod string `json:"paymentMethod,omitempty"`
}
type SantimPayCallbackPayload struct {
TxnId string `json:"txnId"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
ThirdPartyId string `json:"thirdPartyId"`
MerId string `json:"merId"`
MerName string `json:"merName"`
Address string `json:"address"`
Amount string `json:"amount"`
Currency string `json:"currency"`
Reason string `json:"reason"`
Msisdn string `json:"msisdn"`
AccountNumber string `json:"accountNumber"`
PaymentVia string `json:"paymentVia"`
RefId string `json:"refId"`
SuccessRedirectUrl string `json:"successRedirectUrl"`
FailureRedirectUrl string `json:"failureRedirectUrl"`
Message string `json:"message"`
Status string `json:"status"`
ReceiverWalletID string `json:"receiverWalletID"`
}
type SantimTokenPayload struct {
Amount int `json:"amount"`
Reason string `json:"paymentReason"`
PaymentMethod string `json:"paymentMethod"`
PhoneNumber string `json:"phoneNumber"`
ID string `json:"id,omitempty"`
}
type Partner struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Input string `json:"input"`
}
// B2CPartnersResponse is the top-level response
type B2CPartnersResponse struct {
Partners []Partner `json:"partners"`
}
type SantimpayB2CWithdrawalRequest struct {
ID string `json:"id"`
ClientReference string `json:"clientReference"`
Amount float64 `json:"amount"`
Reason string `json:"reason"`
MerchantID string `json:"merchantId"`
SignedToken string `json:"signedToken"`
ReceiverAccountNumber string `json:"receiverAccountNumber"`
NotifyURL string `json:"notifyUrl"`
PaymentMethod string `json:"paymentMethod"`
}
type TransactionStatusRequest struct {
TransactionID string `json:"id"`
FullParams *bool `json:"fullParams,omitempty"`
}