Jerry 6 лет назад
Родитель
Сommit
b4cb0ac3ed
4 измененных файлов с 19 добавлено и 18 удалено
  1. 1 1
      README.md
  2. 13 13
      alipay_client.go
  3. 2 2
      examples/alipay/alipay_AliPayUserCertifyOpenCertify.go
  4. 3 2
      release_note.txt

+ 1 - 1
README.md

@@ -85,7 +85,7 @@
 * 换取应用授权令牌(获取app_auth_token,auth_app_id,user_id等信息):client.AliPayOpenAuthTokenApp()
 * 获取芝麻信用分:client.ZhimaCreditScoreGet()
 * 身份认证初始化服务:client.AliPayUserCertifyOpenInit()
-* 身份认证开始认证:client.AliPayUserCertifyOpenCertify()
+* 身份认证开始认证(获取认证链接):client.AliPayUserCertifyOpenCertify()
 * 身份认证记录查询:client.AliPayUserCertifyOpenQuery()
 
 ### 支付宝公共API

+ 13 - 13
alipay_client.go

@@ -476,26 +476,19 @@ func (a *AliPayClient) AliPayUserCertifyOpenInit(body BodyMap) (aliRsp *AliPayUs
 }
 
 // alipay.user.certify.open.certify(身份认证开始认证)
-//    文档地址:https://docs.open.alipay.com/api_2/alipay.user.certify.open.certify
-func (a *AliPayClient) AliPayUserCertifyOpenCertify(body BodyMap) (aliRsp *AliPayUserCertifyOpenCertifyResponse, err error) {
+//    API文档地址:https://docs.open.alipay.com/api_2/alipay.user.certify.open.certify
+//    产品文档地址:https://docs.open.alipay.com/20181012100420932508/quickstart
+func (a *AliPayClient) AliPayUserCertifyOpenCertify(body BodyMap) (certifyUrl string, err error) {
 	var (
 		bs []byte
 	)
 	if body.Get("certify_id") == null {
-		return nil, errors.New("certify_id is not allowed to be null")
+		return null, errors.New("certify_id is not allowed to be null")
 	}
 	if bs, err = a.doAliPay(body, "alipay.user.certify.open.certify"); err != nil {
-		return
-	}
-	aliRsp = new(AliPayUserCertifyOpenCertifyResponse)
-	if err = json.Unmarshal(bs, aliRsp); err != nil {
-		return nil, err
-	}
-	if aliRsp.Response.Code != "10000" {
-		info := aliRsp.Response
-		return nil, fmt.Errorf(`{"code":"%s","msg":"%s","sub_code":"%s","sub_msg":"%s"}`, info.Code, info.Msg, info.SubCode, info.SubMsg)
+		return null, err
 	}
-	aliRsp.SignData = getSignData(bs)
+	certifyUrl = string(bs)
 	return
 }
 
@@ -582,6 +575,13 @@ func (a *AliPayClient) doAliPay(body BodyMap, method string) (bytes []byte, err
 	if method == "alipay.trade.app.pay" {
 		return []byte(urlParam), nil
 	}
+	if method == "alipay.user.certify.open.certify" {
+		if !a.IsProd {
+			return []byte(zfbSandboxBaseUrl + "?" + urlParam), nil
+		} else {
+			return []byte(zfbBaseUrl + "?" + urlParam), nil
+		}
+	}
 	if method == "alipay.trade.page.pay" {
 		if !a.IsProd {
 			return []byte(zfbSandboxBaseUrl + "?" + urlParam), nil

+ 2 - 2
examples/alipay/alipay_AliPayUserCertifyOpenCertify.go

@@ -24,11 +24,11 @@ func AliPayUserCertifyOpenCertify() {
 	bm.Set("certify_id", "OC201809253000000393900404029253")
 
 	//发起请求
-	aliRsp, err := client.AliPayUserCertifyOpenCertify(bm)
+	certifyUrl, err := client.AliPayUserCertifyOpenCertify(bm)
 	if err != nil {
 		fmt.Println("err:", err)
 		return
 	}
-	fmt.Println("aliRsp:", *aliRsp)
+	fmt.Println("certifyUrl:", certifyUrl)
 
 }

+ 3 - 2
release_note.txt

@@ -1,9 +1,10 @@
 版本号:Release 1.4.3
-发布时间:2019/11/12 00:40
+发布时间:2019/11/12 01:15
 修改记录:
    (1) 微信:公共API方法:gopay.ParseWeChatRefundNotifyResult(),解析微信退款异步通知的请求参数
    (2) 微信:公共API方法:gopay.DecryptRefundNotifyReqInfo(),解密微信退款异步通知的加密数据
-   (3) 修改部分小问题
+   (3) 支付宝:修改Client方法:client.AliPayUserCertifyOpenCertify(),身份认证开始认证(获取认证链接)
+   (4) 修改部分小问题
 
 版本号:Release 1.4.2
 发布时间:2019/11/11 16:43