|
- package fb_pay
-
- import (
- zhios_pay_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_pay.git/utils"
- "errors"
- "fmt"
- "strings"
- )
-
- func GetUnificationByVendorSn(vendorSn string) *RequestParameters {
- var rp RequestParameters
- rp.VendorSn = vendorSn
- rp.Method = Unification
- return &rp
- }
-
- func GetOrderQrcodeByVendorSn(vendorSn string) *RequestParameters {
- var rp RequestParameters
- rp.VendorSn = vendorSn
- rp.Method = OrderQrcode
- return &rp
- }
- func GetRefundByVendorSn(vendorSn string) *RequestParameters {
- var rp RequestParameters
- rp.VendorSn = vendorSn
- rp.Method = Refund
- return &rp
- }
- func GetRefundQueryByVendorSn(vendorSn string) *RequestParameters {
- var rp RequestParameters
- rp.VendorSn = vendorSn
- rp.Method = RefundQuery
- return &rp
- }
- func GetAggregateCodeByVendorSn(vendorSn string) *RequestParameters {
- var rp RequestParameters
- rp.VendorSn = vendorSn
- rp.Method = AggregateCode
- return &rp
- }
-
- func GetRequestParametersByVendorSn(vendorSn string) *RequestParameters {
- var rp RequestParameters
- rp.VendorSn = vendorSn
- return &rp
- }
-
- func GetUnificationByAppId(appId string) *RequestParameters {
- var rp RequestParameters
- rp.AppId = appId
- rp.Method = Unification
- return &rp
- }
-
- func GetOrderQrcodeByAppId(appId string) *RequestParameters {
- var rp RequestParameters
- rp.AppId = appId
- rp.Method = OrderQrcode
- return &rp
- }
-
- func GetAggregateCodeByAppId(appId string) *RequestParameters {
- var rp RequestParameters
- rp.AppId = appId
- rp.Method = AggregateCode
- return &rp
- }
-
- func GetRequestParametersByAppId(appId string) *RequestParameters {
- var rp RequestParameters
- rp.AppId = appId
- return &rp
- }
-
- func (bp *BaseParameters) SetBizContent(param interface{}) {
- fmt.Println("参数:", zhios_pay_utils.SerializeStr(param))
- bp.BizContent = zhios_pay_utils.SerializeStr(param)
- }
-
- func (bp *BaseParameters) GetSign(appSecret string) string {
- struct2Map := make(map[string]string)
- zhios_pay_utils.Unserialize(zhios_pay_utils.Serialize(bp), &struct2Map)
- needSignStr := zhios_pay_utils.JoinStringsInASCII(struct2Map, "&", "=", false, false)
- needSignStr = needSignStr + appSecret
- return strings.ToUpper(zhios_pay_utils.Md5(needSignStr))
- }
-
- func (rp *RequestParameters) SetSign(appSecret string) {
- rp.Sign = rp.BaseParameters.GetSign(appSecret)
- }
-
- func (rp *RequestParameters) Send(prd bool) (string, error) {
- if rp.Sign == "" {
- return "", errors.New("请进行签名")
- }
- param := zhios_pay_utils.Struct2Map(rp)
- for key, value := range param {
- if value == "" {
- delete(param, key)
- }
- }
- url := TestUrl
- if prd {
- url = PrdUrl
- }
- headers := map[string]string{
- "Content-Type": ReqHeader,
- }
- zhios_pay_utils.CurlDebug = true
- res, err := zhios_pay_utils.CurlPost(url, zhios_pay_utils.SerializeStr(param), headers)
- if err != nil {
- return "", err
- }
- fmt.Println(string(res))
- return string(res), nil
- }
|