stanPaysNg

package
v0.0.0-...-0818f1f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 11, 2025 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PaymentUrl      = `https://interface.stanpays-ng.com/payment`      // 支付地址
	DisbursementUrl = `https://interface.stanpays-ng.com/disbursement` // 代付地址
	BalanceUrl      = `https://interface.stanpays-ng.com/balance`      // 余额地址

	ResponseCodeSUCCESS = `SUCCESS`
	ResponseCodeFAIL    = `FAIL`
	ResponseCodeUNKNOWN = `UNKNOWN`
	PaymentMethodCARD   = `CARD` //银行卡支付
	PaymentMethodVA     = `VA`   //虚拟银行卡号转账
	PaymentMethodUSSD   = `USSD` //USSD拨号
	PaymentMethodNQR    = `NQR`  //扫码支付
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BalanceRequest

type BalanceRequest struct {
	MchId    string `json:"mchId"`    //	商户ID
	DateTime string `json:"dateTime"` //	时间字符串(格式:yyyyMMddHHmmss)
	Sign     string `json:"sign"`     //	加密字符串
}

func (*BalanceRequest) GetSign

func (b *BalanceRequest) GetSign(key string) (string, error)

type BalanceResponse

type BalanceResponse struct {
	ResponseCode string `json:"responseCode"` // 返回状态码
	ResponseDesc string `json:"responseDesc"` // 返回状态描述
	MchId        string `json:"mchId"`        // 商户ID
	MchName      string `json:"mchName"`      // 商户名称
	Balance      string `json:"balance"`      // 可用余额
	Freeze       string `json:"freeze"`       // 处理中金额/代付中金额
	Pend         string `json:"pend"`         // 待结算金额
	Total        string `json:"total"`        // 总余额
}

type CallbackRequest

type CallbackRequest struct {
	PlatOrderNum string `json:"platOrderNum"`
	Amount       string `json:"amount"`
	MchId        string `json:"mchId"`
	NotifyDesc   string `json:"notifyDesc"`
	Method       string `json:"method"`
	Fee          string `json:"fee"`
	Sign         string `json:"sign"`
	MchOrderNum  string `json:"mchOrderNum"`
	PayData      string `json:"payData"`
	NotifyCode   string `json:"notifyCode"`
	Description  string `json:"description"`
}

type DisbursementCallbackRequest

type DisbursementCallbackRequest struct {
	NotifyCode   string `json:"notifyCode"`   //	通知状态
	NotifyDesc   string `json:"notifyDesc"`   //	通知状态描述(代付失败原因)
	MchId        string `json:"mchId"`        //	商户ID
	MchOrderNum  string `json:"mchOrderNum"`  //	商户订单号
	PlatOrderNum string `json:"platOrderNum"` //	平台订单号
	Amount       string `json:"amount"`       //	支付金额
	Fee          string `json:"fee"`          //	手续费
	Name         string `json:"name"`         //	收款人姓名
	Account      string `json:"account"`      //	收款人账号
	Method       string `json:"method"`       //	代付方式
	BankCode     string `json:"bankCode"`     //	银行编号
	Description  string `json:"description"`  //	描述
	Sign         string `json:"sign"`         //	平台加密字符串
}

type DisbursementRequest

type DisbursementRequest struct {
	MchId       string `json:"mchId"`       //商户ID
	MchOrderNum string `json:"mchOrderNum"` //商户订单号
	Amount      int64  `json:"amount"`      //代付金额(不支持小数点)
	Name        string `json:"name"`        //收款人名字
	Account     string `json:"account"`     //收款人账号
	Method      string `json:"method"`      //代付方式
	BankCode    string `json:"bankCode"`    //银行编号
	NotifyUrl   string `json:"notifyUrl"`   //异步通知地址
	Sign        string `json:"sign"`
}

func (*DisbursementRequest) GetSign

func (d *DisbursementRequest) GetSign(key string) (string, error)

type DisbursementResponse

type DisbursementResponse struct {
	ResponseCode string  // 返回状态码
	ResponseDesc string  // 返回状态描述
	MchId        string  // 商户ID
	MchOrderNum  string  // 商户订单号
	PlatOrderNum string  // 平台订单号
	Amount       float64 // 支付金额
	Name         string  // 收款人名字
	Account      string  // 收款人账号
	Method       string  // 代付方式
	BankCode     string  // 银行编号
	Fee          float64 // 平台手续费
	Description  string  // 描述
}

type PaymentRequest

type PaymentRequest struct {
	MchId       string `json:"mchId"`
	MchOrderNum string `json:"mchOrderNum"`
	Method      string `json:"method"`
	Amount      string `json:"amount"`
	NotifyUrl   string `json:"notifyUrl"`
	RedirectUrl string `json:"redirectUrl"`
	Description string `json:"description"`
	CustId      string `json:"custId"`
	CustName    string `json:"custName"`
	CustEmail   string `json:"custEmail"`
	CustPhone   string `json:"custPhone"`
	Sign        string `json:"sign"`
}

func (*PaymentRequest) GetSign

func (p *PaymentRequest) GetSign(key string) (string, error)

type PaymentResponse

type PaymentResponse struct {
	ResponseCode string `json:"responseCode"`
	ResponseDesc string `json:"responseDesc"`
	MchId        string `json:"mchId"`
	MchOrderNum  string `json:"mchOrderNum"`
	PlatOrderNum string `json:"platOrderNum"`
	Method       string `json:"method"`
	Amount       string `json:"amount"`
	Fee          string `json:"fee"`
	Description  string `json:"description"`
	PayData      string `json:"payData"`
}

type RequestSign

type RequestSign interface {
	GetSign(key string) (string, error)
}

type StanPayNgService

type StanPayNgService interface {
	Payment(request PaymentRequest) (PaymentResponse, error)
	VerifySign(jsonData string) (bool, error)
	Disbursement(request DisbursementRequest) (DisbursementResponse, error)
	DisbursementCallbackVerify(jsonData string) (bool, error)
	Balance() (BalanceResponse, error)
	SetPrivateKey(key string) StanPayNgService
	SetPublicKey(Key string) StanPayNgService
	SetPaymentUrl(url string) StanPayNgService
	SetDisbursementUrl(url string) StanPayNgService
}

func NewStanPayNg

func NewStanPayNg(mchid string) StanPayNgService

type StanpayNg

type StanpayNg struct {
	MchId string
	// contains filtered or unexported fields
}

func (*StanpayNg) Balance

func (s *StanpayNg) Balance() (resp BalanceResponse, err error)

func (*StanpayNg) Disbursement

func (s *StanpayNg) Disbursement(request DisbursementRequest) (resp DisbursementResponse, err error)

func (*StanpayNg) DisbursementCallbackVerify

func (s *StanpayNg) DisbursementCallbackVerify(jsonData string) (resp bool, err error)

func (*StanpayNg) Payment

func (s *StanpayNg) Payment(request PaymentRequest) (resp PaymentResponse, err error)

func (*StanpayNg) SetDisbursementUrl

func (s *StanpayNg) SetDisbursementUrl(url string) StanPayNgService

func (*StanpayNg) SetPaymentUrl

func (s *StanpayNg) SetPaymentUrl(url string) StanPayNgService

func (*StanpayNg) SetPrivateKey

func (s *StanpayNg) SetPrivateKey(key string) StanPayNgService

func (*StanpayNg) SetPublicKey

func (s *StanpayNg) SetPublicKey(Key string) StanPayNgService

func (*StanpayNg) VerifySign

func (s *StanpayNg) VerifySign(jsonData string) (resp bool, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL