Y Y524资源站

个人网站接入支付宝当面付php源码,可用来打赏收款或做要饭网站

本文实例为大家分享了PHP支付宝当面付2.0代码,个人网站怎么接入支付宝当面付|php支付宝当面付打赏源码

2023-05-29 1984 次阅读 编程教程

例子介绍:

很多人做个人网站不好选支付,虽然世面上有很多支付,但是都是承载于第三方,话说回来就是别人付给第三方,第三方再付给你,我这里说的第三方,其实都是第四方了。但是这种个人支付的平台一半都不安全,违反规则,有些还是违规的,直接会被互联网所打击。如果他走人了,那么你也收不到钱,所以当面付是个人或者公司直接面向支付宝进行的,为什么要选择当面付?是因为支付宝首先有一个wap或者网页支付,但是这个需要企业才可以签约,直接跳转支付宝进行支付,那么个人就只可以签约当面付,就是二维码支付。这个也非常方便及安全。

本文实例为大家分享了PHP支付宝当面付2.0代码,供大家参考,具体内容如下

<?php
function alipay_trade_pay($price)
{
   $data['subject'] = '订单标题'; //订单标题
   $data['out_trade_no'] = date("Ymd") . rand(10000, 99999); //订单号
   $data['total_amount'] = $price; //支付金额
   $data['product_code'] = 'FACE_TO_FACE_PAYMENT'; //支付场景
   $data['qr_pay_mode'] = 4; 
   $data['qr_code_timeout_express'] = '60m'; //支付场景
   $data = json_encode($data);

   $params['app_id'] = "这里填写应用ID";
   $params['notify_url'] = "";
   $params['return_url'] = "";
   $params['method'] = 'alipay.trade.precreate';
   $params['charset'] = 'utf-8';
   $params['sign_type'] = 'RSA2';
   $params['timestamp'] = date("Y-m-d H:i:s");
   $params['version'] = '1.0';
   
   $params['biz_content'] = $data;
   ksort($params); //对将要签名的数组排序

   $string = toUrlParam($params); //将数组转换成字符串

   $params['sign'] = alipay_sign($string); //将字符串签名
   $url = 'https://openapi.alipay.com/gateway.do?' . http_build_query($params);
   $return = file_get_contents($url); //打开支付请求连接 获取二维码地址
   $return = json_decode($return, true); //将返回的字符串转换为数组
   echo var_dump($return);
}


//app支付宝签名
function alipay_sign($data, $signType = "RSA2")
{
   $res = "-----BEGIN RSA PRIVATE KEY-----
" .
      wordwrap('这里填写生成的私钥,如:MIIEpAIBAA......', 64, "
", true) .
      "
-----END RSA PRIVATE KEY-----";
   ($res) or die('您使用的私钥格式错误,请检查RSA私钥配置');
   if ("RSA2" == $signType) {
      openssl_sign($data, $sign, $res, OPENSSL_ALGO_SHA256);
   } else {
      openssl_sign($data, $sign, $res);
   }
   $sign = base64_encode($sign);
   return $sign;
}


/*
 * 格式化参数格式化成url参数
*/
function toUrlParam($param)
{
   $buff = "";
   foreach ($param as $k => $v) {
      if ($k != "sign" && $v != "" && !is_array($v)) {
         $buff .= $k . "=" . $v . "&";
      }
   }

   $buff = trim($buff, "&");
   return $buff;
}

//调用
alipay_trade_pay("1");

其它:

1、支付宝当面付怎么申请开通,及支付宝签名请自行百度;

2、下载源码后,正确填写APPID和支付宝签名即可正常使用;

请求返回示例:

{
    "alipay_trade_precreate_response": 
        {
            "code": "10000", 
            "msg": "Success", 
            "out_trade_no": "2023051911203",
            "qr_code": "https://qr.alipay.com/bax02525ianhhudpfn375545"
         },
         "sign": "xxxxxxxxxxxx"
}


PHP教程 当面付源码 php当面付