首頁 >php教程 >php手册 >PHP集成支付宝快速实现充值功能

PHP集成支付宝快速实现充值功能

WBOY
WBOY原創
2016-06-06 20:08:582102瀏覽

本文将介绍如何快速通过PHP类库来集成、整合支付宝来实现充值功能。如果你的系统想要扩充积分、账户余额等功能,那么就要选择一个第三方支付系统来充值。 支付宝集成时,需要三大步: 1、通过表单提交信息,系统整合信息,提交信息到支付宝; 2、用户进行支

本文将介绍如何快速通过PHP类库来集成、整合支付宝来实现充值功能。如果你的系统想要扩充积分、账户余额等功能,那么就要选择一个第三方支付系统来充值。

支付宝集成时,需要三大步:

1、通过表单提交信息,系统整合信息,提交信息到支付宝;

2、用户进行支付后,支付宝后台通知系统处理;

3、支付宝后台通知完成后,支付宝前台跳转到系统返回地址;

支付宝PHP类

  • PHP 类alipay_notify,主要功能是付款过程中服务器通知处理。
  • PHP 类alipay_service,根据支付宝外部服务接口生成支付宝地址。

我把这2个类,集中到一个文件alipay.class.inc中,点击这里查看并下载PHP支付宝类源码。

下面主要主要讲解通过支付宝的PHP类来实现整合。

PHP支付宝集成

第一步,建立提交充值的基本信息:

zhifubao-chongzhi PHP支付宝集成 建立提交充值的基本信息

第二步,验证用户提交的金额正确,通过表单验证后,通过支付宝alipay_service类生成支付宝链接,然后跳转到支付宝链接。

function index() {
  $total = intval($_POST['total']);
  if (!$total) {
    $total = 1;
  }
  $pay_bank = trim($_POST['pay_bank']);
  $account = $_POST['_account'];
  $base_path = ‘http://’.$_SERVER['HTTP_HOST'].base_path();
  $order_id = date(‘YmdHis’, time()); //时间值作为唯一的订单ID号
  $subject = $body = ‘LixiPHP充值’.$total.’元’;
  $out_trade_no = date(‘YmdHis’, time()).’-’.$account->student['sid'];
  //合作身份者ID,以2088开头的16位纯数字
  $partner = ’20887015**9*7**’;
  //安全检验码,以数字和字母组成的32位字符
  $security_code = ‘gc2qxh4**ab***3jp8*****2ptxewks4′;
  //签约支付宝账号或卖家支付宝帐户
  $seller_email = ‘seller@alipay.com’;
  $_input_charset = "UTF-8";
  $sign_type = "MD5"; //签名方式
  $transport = ‘https’;//字符编码格式
  $parameter = array(
    "service"        => "create_direct_pay_by_user",  //交易类型
    "partner"        => $partner,         //合作商户号
    "return_url"     => $base_path.’alipay/return’,      //同步返回
    "notify_url"     => $base_path.’alipay/notify’,      //异步返回
    "_input_charset" => ‘UTF-8′,  //字符集,默认为GBK
    "subject"        => $subject,       //商品名称,必填
    "body"           => $subject,       //商品描述,必填
    "out_trade_no"   => $out_trade_no,     //商品外部交易号,必填(保证唯一性)
    "price"          => $total,           //商品单价,必填(价格不能为0)
    "payment_type"   => "1",              //默认为1,不需要修改
    "quantity"       => "1",              //商品数量,必填
    "paymethod"        => ‘directPay’,
    "defaultbank"        => $pay_bank,
    "logistics_fee"      =>’0.00′,        //物流配送费用
    "logistics_payment"  =>’BUYER_PAY’,   //物流费用付款方式:SELLER_PAY(卖家支付)、BUYER_PAY(买家支付)、BUYER_PAY_AFTER_RECEIVE(货到付款)
    "logistics_type"     =>’EXPRESS’,     //物流配送方式:POST(平邮)、EMS(EMS)、EXPRESS(其他快递)
    //"receive _mobile" => ”,         //收货人手机
    "show_url"       => $base_path,        //商品相关网站
    "seller_email"   => $seller_email,     //卖家邮箱,必填
  );
  require("../libraries/payment/alipay.class.inc");
  $alipay = new alipay_service($parameter, $security_code, $sign_type);
  $link = $alipay->create_url();
  header("Location: ".$link);
}

用户跳转到支付宝支付界面后,默认的支付银行是在提交表单前选择的网上银行,选择支付宝的话就是使用支付宝余额支付。然后就是等待用户支付了。用户完成支付后,请会发生下面的几个步骤,当然如果用户放弃支付的话,就没有后面的处理了。

(...)
Read the rest of PHP集成支付宝快速实现充值功能 (294 words)


© lixiphp for LixiPHP, 2013. | Permalink | One comment | Add to del.icio.us
Post tags: alipay, PHP, zhifubao, 支付宝, 整合支付接口, 集成支付接口

Feed enhanced by Better Feed from Ozh

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn