Documentation ¶
Index ¶
- Constants
- func GetLocalIPv4() string
- type Client
- func (c *Client) GenerateSign(bm gopay.BodyMap) string
- func (c *Client) MapiApi(ctx context.Context, bm gopay.BodyMap) (response *PostMapiRsp, err error)
- func (c *Client) OrderApi(ctx context.Context, bm gopay.BodyMap) (response *OrderQueryRsp, err error)
- func (c *Client) RequestParam(bm gopay.BodyMap) (string, error)
- func (c *Client) SetBodySize(sizeMB int)
- func (c *Client) SetHttpClient(client *xhttp.Client)
- func (c *Client) SetLogger(logger xlog.XLogger)
- func (c *Client) SubmitApi(ctx context.Context, bm gopay.BodyMap) (response string, err error)
- type OrderNotifyRsp
- type OrderQueryRsp
- type PostMapiRsp
Constants ¶
const ( MD5 = "MD5" UTF8 = "UTF-8" )
接口地址 https://4ab82428.lempay.com/ 商户ID:2428 密钥:xKXz8P461pf14xfkPQVMKPNk6bKp2pVP 商户后台:https://api.lempay.com/user/ 接口文档:https://api.lempay.com/doc.html
协议规则 URL地址:文档仅供参考,实际以商户后台接口地址为准
请求数据格式:application/x-www-form-urlencode
返回数据格式:JSON
签名算法:MD5
字符编码:UTF-8
Variables ¶
This section is empty.
Functions ¶
func GetLocalIPv4 ¶
func GetLocalIPv4() string
Types ¶
type Client ¶
type Client struct { BaseUrl string //接口地址 Pid int //商户ID SecretKey string //商户密钥 ReturnUrl string //异步通知地址 NotifyUrl string //跳转通知地址 IsProd bool //是否是正式环境 DebugSwitch gopay.DebugSwitch //调试开关,是否打印日志 SignType string //签名类型 ClientIp string //客户端IP // contains filtered or unexported fields }
func NewClient ¶
初始化支付宝客户端 注意:如果使用支付宝公钥证书验签,请使用 client.SetCertSnByContent() 或 client.SetCertSnByPath() 设置 应用公钥证书、支付宝公钥证书、支付宝根证书 appid:应用ID privateKey:应用私钥,支持PKCS1和PKCS8 isProd:是否是正式环境,沙箱环境请选择新版沙箱应用。
func (*Client) GenerateSign ¶
1. 签名算法实现 首先,你需要实现一个签名算法来生成 MD5 签名。
func (*Client) OrderApi ¶
func (c *Client) OrderApi(ctx context.Context, bm gopay.BodyMap) (response *OrderQueryRsp, err error)
[API]查询单个订单 URL地址:https://a913a.lempay.com/api.php?act=order&pid={商户ID}&out_trade_no={商户订单号}&sign={32位签名字符串}
func (*Client) RequestParam ¶
RequestParam 获取完整请求参数包含签名
func (*Client) SetBodySize ¶
SetBodySize 设置http response body size(MB)
func (*Client) SetHttpClient ¶
SetHttpClient 设置自定义的xhttp.Client
type OrderNotifyRsp ¶
type OrderNotifyRsp struct { Pid string `json:"pid,omitempty"` // 商户ID TradeNo string `json:"trade_no,omitempty"` // 易支付订单号 OutTradeNo string `json:"out_trade_no,omitempty"` // 商户订单号 Type string `json:"type,omitempty"` // 支付方式 Name string `json:"name,omitempty"` // 商品名称 Money string `json:"money,omitempty"` // 商品金额 TradeStatus string `json:"trade_status,omitempty"` //只有TRADE_SUCCESS是成功 Param string `json:"param,omitempty"` //业务扩展参数 Sign string `json:"sign,omitempty"` //签名字符串 SignType string `json:"sign_type,omitempty"` //签名类型 }
pid:1058 trade_no:2024081609265449383 out_trade_no:1824256487309316096 type:alipay name:product money:1 trade_status:TRADE_SUCCESS sign:c10ac8886190e17e12802090e1067f8b sign_type:MD5
type OrderQueryRsp ¶
type OrderQueryRsp struct { Code string `json:"code,omitempty"` // 返回状态码 Msg string `json:"msg,omitempty"` // 返回信息 TradeNo string `json:"trade_no,omitempty"` // 易支付订单号 OutTradeNo string `json:"out_trade_no,omitempty"` // 商户订单号 ApiTradeNo string `json:"api_trade_no,omitempty"` // 第三方订单号 Type string `json:"type,omitempty"` // 支付方式 Pid string `json:"pid,omitempty"` // 商户ID AddTime string `json:"addtime,omitempty"` // 创建订单时间 EndTime string `json:"endtime,omitempty"` // 完成交易时间 Name string `json:"name,omitempty"` // 商品名称 Money string `json:"money,omitempty"` // 商品金额 Status string `json:"status,omitempty"` // 支付状态 Param string `json:"param,omitempty"` // 业务扩展参数 Buyer string `json:"buyer,omitempty"` // 支付者账号 }
{ "code": 1, "msg": "succ", "trade_no": "2024081414592697636", "out_trade_no": "4539396062296355", "api_trade_no": null, "type": "alipay", "pid": "1058", "addtime": "2024-08-14 14:59:26", "endtime": null, "name": "测试订单", "money": "1.00", "param": "", "buyer": null, "status": "0", "payurl": null }
{"code":1,"msg":"succ","trade_no":"2024081616291875812","out_trade_no":"1824362788093825024","api_trade_no":null,"type":false,"pid":"1058","addtime":"2024-08-16 16:29:18","endtime":null,"name":"\u5145\u503c","money":"1.00","param":null,"buyer":null,"status":"0","payurl":null}
OrderQueryRsp 结构体用于解析查询单个订单的响应
type PostMapiRsp ¶
type PostMapiRsp struct { Code string `json:"code,omitempty"` // 响应码 Msg string `json:"msg,omitempty"` // 错误信息 TradeNo string `json:"trade_no,omitempty"` // 订单号 PayURL string `json:"payurl,omitempty"` //支付 URL Qrcode string `json:"qrcode,omitempty"` //如果返回该字段,则根据该url生成二维码 Urlscheme string `json:"urlscheme,omitempty"` //如果返回该字段,则使用js跳转该url,可发起微信小程序支付 }
{"code":1,"trade_no":"2024081509452867419","payurl":"https:\/\/pay.jisufa.com\/pay\/submit\/2024081509452867419\/"}