本文将介绍如何快速通过PHP类库来集成、整合支付宝来实现充值功能。如果你的系统想要扩充积分、账户余额等功能,那么就要选择一个第三方支付系统来充值。 支付宝集成时,需要三大步: 1、通过表单提交信息,系统整合信息,提交信息到支付宝; 2、用户进行支
本文将介绍如何快速通过PHP类库来集成、整合支付宝来实现充值功能。如果你的系统想要扩充积分、账户余额等功能,那么就要选择一个第三方支付系统来充值。
支付宝集成时,需要三大步:
1、通过表单提交信息,系统整合信息,提交信息到支付宝;
2、用户进行支付后,支付宝后台通知系统处理;
3、支付宝后台通知完成后,支付宝前台跳转到系统返回地址;
支付宝PHP类
- PHP 类alipay_notify,主要功能是付款过程中服务器通知处理。
- PHP 类alipay_service,根据支付宝外部服务接口生成支付宝地址。
我把这2个类,集中到一个文件alipay.class.inc中,点击这里查看并下载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

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3漢化版
中文版,非常好用

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)