调用支付宝支付接口时,需要用商户自己的私钥生成sign,将数据与sign一起发送给支付宝来发起支付。
这里总结一下签名的流程,以支付宝手机网站支付为例。实现语言为golang。
请求参数网址:https://docs.open.alipay.com/203/107090/
一. 生成biz_content业务参数信息:
func GenBizContent(subject, outTradeNo, buyerId, payType string, totalAmount int64) (string, error) {
m := make(map[string]interface{})
m["subject"] = subject
m["out_trade_no"] = outTradeNo
PayMoney, err := Int64DividedBy100(totalAmount)
if err != nil {
err = errors.New("change amount int64 to float64 fail," + err.Error())
return "", err
}
m["total_amount"] = PayMoney //TODO
switch payType {
case constants.PayTypeAlipayWap:
m["product_code"] = AlipayWapProductCode
case constants.PayTypeAlipayApp:
m["product_code"] = AlipayAppProductCode
case constants.PayTypeAlipayMini:
m["buyer_id"] = buyerId
}
jsonStr, err := json.Marshal(m)
if err != nil {
err = errors.Ne