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

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

程序员文章站 2022-04-04 19:33:55
...

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

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

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

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

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

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

支付宝PHP类

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

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

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

PHP支付宝集成

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

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