对接支付宝支付
 编辑于 2021-06-20 23:38:26 阅读 2450
- 注册支付宝企业账号
- 申请支付产品
- 成为支付宝开发者
下面假如您已经申请了“手机网站支付”
开发设置
 
 
 主要设置了
主要设置了接口加签方式和IP白名单,其他用不到
接口加签方式
普通公钥与公钥证书区别1️⃣
应用私钥、公钥和支付宝公钥2️⃣
- 应用公钥(public key)需提供给支付宝账号管理者上传到支付宝开放平台。
- 应用私钥(private key)由开发者自己保存,需填写到代码中供签名时使用。
- 支付宝公钥,应用公钥上传后会得到对应的支付宝公钥,供验签时使用(如支付回调)
应用网关是什么意思
官方文档这样描述3️⃣
生活号、口碑、现金红包、单笔转账接口等异步通知发送到对应appid应用的应用网关中…
签名
    /**
     * 签名
     * @param $data
     * @param $private_key
     * @return array
     */
    public function _sign($data, $private_key): array {
        ksort($data);
        //待签名字符串
        $string_to_be_signed = urldecode(http_build_query($data));
        $res = "-----BEGIN RSA PRIVATE KEY-----\n" .
            wordwrap($private_key, 64, "\n", true) .
            "\n-----END RSA PRIVATE KEY-----";
        openssl_sign($string_to_be_signed, $sign, $res, OPENSSL_ALGO_SHA256);
        $signature = base64_encode($sign);
        $data['sign'] = $signature;
        return $data;
    }
alipay.trade.wap.pay(手机网站支付接口2.0)
这个是不需要网络请求的服务端接口,服务端完成参数构建和签名后抛个前端即可,没有网络请求!!! 返回给前端的可以是一个拼装好的form表单的html代码(POST),也可以是一个链接(GET)
参考
1️⃣ https://opendocs.alipay.com/open/291/105971/#普通公钥与公钥证书区别
2️⃣在线生成应用私钥和公钥 https://miniu.alipay.com/keytool/create
3️⃣ https://opensupport.alipay.com/support/helpcenter/193/201602472200
开发指引 https://opensupport.alipay.com/support/codelab/detail/711/713

