支付宝支付

Posted 南风丨知我意

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了支付宝支付相关的知识,希望对你有一定的参考价值。

/*
  支付
*/
 public function pay()
 {
   header("content-type:text/html;charset=utf8");
   //echo 1;die;
   // ******************************************************配置 start*************************************************************************************************************************
   //↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
   //合作身份者id,以2088开头的16位纯数字
   $alipay_config[‘partner‘]   = ‘合作身份者id‘;
   //收款支付宝账号
   $alipay_config[‘seller_email‘] = ‘‘;
   //安全检验码,以数字和字母组成的32位字符
   $alipay_config[‘key‘]     = ‘y8z1t3vey08bgkzlw78u9cbc4pizy2sj‘;
   //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
   //签名方式 不需修改
   $alipay_config[‘sign_type‘]  = strtoupper(‘MD5‘);
   //字符编码格式 目前支持 gbk 或 utf-8
   //$alipay_config[‘input_charset‘]= strtolower(‘utf-8‘);
   //ca证书路径地址,用于curl中ssl校验
   //请保证cacert.pem文件在当前文件夹目录中
   $alipay_config[‘cacert‘]  = getcwd().‘\\cacert.pem‘;
   //访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http
   $alipay_config[‘transport‘]  = ‘http‘;
   // ******************************************************配置 end*************************************************************************************************************************
  
   // ******************************************************请求参数拼接 start*************************************************************************************************************************
   $parameter = array(
     "service" => "create_direct_pay_by_user",
     "partner" => $alipay_config[‘partner‘], // 合作身份者id
     "seller_email" => $alipay_config[‘seller_email‘], // 收款支付宝账号
     "payment_type" => ‘1‘, // 支付类型
     "notify_url"  => "http://bw.com133.com/notify_url.php", // 服务器异步通知页面路径
     "return_url"  => "支付后跳转路径", // 页面跳转同步通知页面路径(必填)
     "out_trade_no" => "订单号", // 商户网站订单系统中唯一订单号(必填)
     "subject" => "", // 订单名称(必填)
     "total_fee"  => "0.01", // 付款金额
     "body" => "", // 订单描述 可选
     "show_url" => "", // 商品展示地址 可选
     "anti_phishing_key"  => "", // 防钓鱼时间戳 若要使用请调用类文件submit中的query_timestamp函数
     "exter_invoke_ip" => "", // 客户端的IP地址
     "_input_charset"  => ‘utf-8‘, // 字符编码格式
   );
   // 去除值为空的参数
   foreach ($parameter as $k => $v) {
     if (empty($v)) {
       unset($parameter[$k]);
     }
   }
   // 参数排序
   ksort($parameter);
   reset($parameter);
  
   // 拼接获得sign
   $str = "";
   foreach ($parameter as $k => $v) {
     if (empty($str)) {
       $str .= $k . "=" . $v;
     } else {
       $str .= "&" . $k . "=" . $v;
     }
   }
   $parameter[‘sign‘] = md5($str . $alipay_config[‘key‘]);
   $parameter[‘sign_type‘] = $alipay_config[‘sign_type‘];
   // ******************************************************请求参数拼接 end*************************************************************************************************************************
  
  
   // ******************************************************模拟请求 start*************************************************************************************************************************
   $sHtml = "<form id=‘alipaysubmit‘ name=‘alipaysubmit‘ action=‘https://mapi.alipay.com/gateway.do?_input_charset=utf-8‘ method=‘get‘>";
   foreach ($parameter as $k => $v) {
     $sHtml.= "<input type=‘hidden‘ name=‘" . $k . "‘ value=‘" . $v . "‘/>";
   }
  
   $sHtml = $sHtml."<script>document.forms[‘alipaysubmit‘].submit();</script>";
  
   // ******************************************************模拟请求 end*************************************************************************************************************************
   echo $sHtml;
 }

以上是关于支付宝支付的主要内容,如果未能解决你的问题,请参考以下文章

接入支付宝支付接口:发起支付请求

搞定支付接口—支付宝即时到账支付接口详细流程和代码

C#支付宝扫码支付代码完整版(转)

java支付宝app支付-代码实现

php支付宝在线交易时怎么实现的?

支付宝支付接口开发的回调地址怎么写