欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

支付宝快捷支付 PHP服务端签名

程序员文章站 2022-05-26 10:34:45
...
进行支付宝快捷支付开发,希望使用PHP在服务端进行签名,然后发送给Android客户端进行发起支付请求。

下载的官方Demo中只有异步通知的代码,没有找到签名Demo。

自己通过Android客户端的demo,写出来了下面的签名过程,但是一直签名不成功。
变量都是已经设置好的,直接传入了。里面使用的函数,都是官方Demo里面的函数。

    include __DIR__ . "/lib/alipay/alipay.config.php";
    include __DIR__ . "/lib/alipay/lib/alipay_notify.class.php";

    $order_info_array = argSort(array(
        '_input_charset' => "utf-8",
        'body' => "$body",
        'notify_url' => "*******/buy/aliPayCallBack",
        'out_trade_no' => "$out_trade_no",
        'partner' => $alipay_config['partner'],
        'payment_type' => 1,
        'seller_id' => $alipay_config['seller'],
        'service' => $alipay_config['service'],
        'subjet' => "$subjet",
        'total_fee' => "$total_fee",
    ));
    // 组合数据
    $order_info = createLinkstring(paraFilter($order_info_array));
    logResult($order_info);
    // 生成签名
    $sign = rsaSign($order_info, $alipay_config['private_key_path']);
    logResult($sign);
    // 对签名进行url编码
    //$sign = urlencode($sign, 'UTF-8');

    $pay_info = $order_info . "&sign=\"" . $sign . "\"&sign_type=\"RSA\"";
    logResult($pay_info);
    echo json_encode(array(
        'code' => 1,
        'data' => $pay_info,
    ));

有没有哪位朋友做了PHP服务端签名的,可以指点一番吗?

或者给个Demo研究研究。

谢谢了!!!

回复内容:

进行支付宝快捷支付开发,希望使用PHP在服务端进行签名,然后发送给Android客户端进行发起支付请求。

下载的官方Demo中只有异步通知的代码,没有找到签名Demo。

自己通过Android客户端的demo,写出来了下面的签名过程,但是一直签名不成功。
变量都是已经设置好的,直接传入了。里面使用的函数,都是官方Demo里面的函数。

    include __DIR__ . "/lib/alipay/alipay.config.php";
    include __DIR__ . "/lib/alipay/lib/alipay_notify.class.php";

    $order_info_array = argSort(array(
        '_input_charset' => "utf-8",
        'body' => "$body",
        'notify_url' => "*******/buy/aliPayCallBack",
        'out_trade_no' => "$out_trade_no",
        'partner' => $alipay_config['partner'],
        'payment_type' => 1,
        'seller_id' => $alipay_config['seller'],
        'service' => $alipay_config['service'],
        'subjet' => "$subjet",
        'total_fee' => "$total_fee",
    ));
    // 组合数据
    $order_info = createLinkstring(paraFilter($order_info_array));
    logResult($order_info);
    // 生成签名
    $sign = rsaSign($order_info, $alipay_config['private_key_path']);
    logResult($sign);
    // 对签名进行url编码
    //$sign = urlencode($sign, 'UTF-8');

    $pay_info = $order_info . "&sign=\"" . $sign . "\"&sign_type=\"RSA\"";
    logResult($pay_info);
    echo json_encode(array(
        'code' => 1,
        'data' => $pay_info,
    ));

有没有哪位朋友做了PHP服务端签名的,可以指点一番吗?

或者给个Demo研究研究。

谢谢了!!!

最后在网上找到一个网友的分享代码,贴在下面:
支付宝快捷支付PHP服务端签名代码