php 支付宝手机端_【php源码】支付宝手机支付接口,有回调可接入自己网站

本帖最后由 cc6639581 于 2018-12-29 09:36 编辑

上次发布支付宝PC端付款(无回调),大家反映很强力想要支付回调,再开贴放出支付宝web的API支付;只是提供思路,和自己编写后的源码,不适合大神,想提前喷的请右上角;

一.项目截图:

55fd2b2273b5a8b4531f72773c469d6e.gif

整个源码截图.jpg (12.8 KB, 下载次数: 16)

2017-5-27 11:10 上传

二.支付流程:

55fd2b2273b5a8b4531f72773c469d6e.gif

手机支付流程.jpg (118.79 KB, 下载次数: 18)

2017-5-27 11:30 上传

三.参考资料和资格:

支付宝手机网站支付官方demo:https://doc.open.alipay.com/docs/doc.htm?treeId=203&articleId=105288&docType=1

支付宝学习平台手机网站支付:需要账号认证支付宝开发平台(不支持个人):四.流程接入:

1.官方下载好demo源码;

2.修改目录下config.php;

config.php

[PHP] 纯文本查看 复制代码<?php $config = array (

//应用ID,您的APPID。

'app_id' => "2016**********17",

//商户私钥,(换成自己私钥)查看地址:[url=https://openhome.alipay.com/platform/keyManage.htm]https://openhome.alipay.com/platform/keyManage.htm[/url] 对应APPID下的支付宝私钥。

'merchant_private_key' => "MIIEQO*************************************EAoBsKDfKjwdomiUB3VB/gg==",

//异步通知地址(123.123.com换成自己域名)

'notify_url' => "http://123.123.com/alipay/notify_url.php",

//同步跳转(123.123.com换成自己域名)

'return_url' => "http://132.123.com/alipay/return_url.php",

//编码格式(不要修改)

'charset' => "UTF-8",

//签名方式(不要修改)

'sign_type'=>"RSA2",

//支付宝网关(不要修改)

'gatewayUrl' => "https://openapi.alipay.com/gateway.do",

//支付宝公钥,(换成自己公钥)查看地址:[url=https://openhome.alipay.com/platform/keyManage.htm]https://openhome.alipay.com/platform/keyManage.htm[/url] 对应APPID下的支付宝公钥。

'alipay_public_key' => "MIIBedLReJcRbtM/*****************TR37dYYmEWOJ3Y0yLhuy5K9ewQIDAQAB",

);

3.(测试的可省略)修改同步通知和异步通知的逻辑程序代码;

由于同步通知前台回跳的不可靠性,同步通知只能作为商户支付结果页的入口,最终支付结果必须以异步通知或查询接口返回为准,不能依赖同步通知前台回跳。

自己编写:同步回调的页面美化、和支付成功的自定义页面跳转等等;

自己编写:异步通知支付成功的数据库存档和检验等等;

4.上传项目到服务器;

5.访问即可;http://域名.com/alipay/wappay/pay.php;

五.我的测试图:

55fd2b2273b5a8b4531f72773c469d6e.gif

1.png (52.85 KB, 下载次数: 13)

2017-5-27 12:27 上传

55fd2b2273b5a8b4531f72773c469d6e.gif

2.png (48.29 KB, 下载次数: 12)

2017-5-27 12:27 上传

55fd2b2273b5a8b4531f72773c469d6e.gif

3.png (44.93 KB, 下载次数: 14)

2017-5-27 12:27 上传

55fd2b2273b5a8b4531f72773c469d6e.gif

4.png (36.74 KB, 下载次数: 12)

2017-5-27 12:27 上传

55fd2b2273b5a8b4531f72773c469d6e.gif

5.png (38.79 KB, 下载次数: 14)

2017-5-27 12:27 上传

百度网盘:

链接:https://pan.baidu.com/s/1MYjjMM2Hs9MKDRRU6SzFIA密码: 4xsq (2018.12.29更新)

手机网站支付源码:

2b1bef8df4f01fee4fc8b39358cdcfb3.gif

alipay.zip

(924.27 KB, 下载次数: 1050)

2017-5-27 11:59 上传

点击文件名下载附件

下载积分: 吾爱币 -1 CB

无毒无毒请放心使用,我这水平还加不了后门

3a106e39b542380a83a66c84686abdbb.gif有问题回热心,我会亲自留言给你!

3a106e39b542380a83a66c84686abdbb.gif

目的支付宝的demo很搓项目需要接入很多支付,磋上加搓,不是特别好管理本类库的目标完成跟支付宝手机网关支付对接的功能便于后面扩展(利用各种Handler),可测试如何使用本类库?1. 预先加载配置目前提供文件的方式加载配置use HuNanZai\Component\Pay\Package\Alipay_wap\Api as AlipayApi; use HuNanZai\Component\Pay\Package\Alipay_wap\Handler\PhpFileConfigHandler as ConfigHandler; $config_handler = new ConfigHandler(__DIR__.'/config.php'); $alipay_api = new AlipayApi($config_handler->getConfig());config.php<?php return array(     'partner'   => 'xxxxxxxxxxxxxxxx',     'seller_id' => 'xxxxxxxxxxxxxxxx',     'private_key_path'  => __DIR__.'/resource/rsa_private_key.pem',     'public_key_path'   => __DIR__.'/resource/rsa_public_key.pem',     'cacert'            => __DIR__.'resource/cacert.pem', );调用对应的api即可支付use HuNanZai\Component\Pay\Package\Alipay_wap\Handler\ArrayPayParamHandler as PayParamHandler; $pay_param_handler  = new PayParamHandler(array(     'out_trade_no'  => date('YmdHis),     'subject'       => '',     'total_fee'     => '0.01',     //可空     'notify_url'    => '',     'return_url'    => '', )); $alipay_api->pay($pay_param_handler->getParam());支付同步返回验证...略过上面的类似步骤 $callback_param_handler   = new CallbackParamHander($_GET); $res = $alipay_api->verifyCallback($callback_param_handler->getParam());支付异步通知验证$notify_param_handler   = new NotifyParamHandler($_POST); $res    = $alipay_api->verifyNotify($notify_param_handler->getParam());查询订单$param_handler = new SearchRequestParamHandler(array(     'trade_no'     => '',     'out_trade_no' => '', )); $result = $alipay_api->search($param_handler->getParam());退款$refund_param_handler   = new RefundParamHandler(array(     'refund_date'   => date('Y-m-d H:i:s'),     'batch_no'      => date('YmdHis'),     'batch_num'     => 1,     'detail_data'   => 'xxxx^0.01^测试退款', )); $result = $alipay_api->refund($refund_param_handler->getParam()); 标签:alipay
接口名称:支付宝手机网站支付接口(alipay.wap.create.direct.pay.by.user)     代码版本:3.3 开发语言:ASP 版 权:支付宝()网络技术有限公司   制 作 者:支付宝技术部技术支持组 联系方式:https://support.open.alipay.com/alipay/support/index.htm 免责声明:DEMO仅供参考,实际开发中需要结合具体场景修改使用。 ───────────────────────────────── ─────── 代码文件结构 ─────── alipay.wap.create.direct.pay.by.user-CSHARP-UTF-8 │ ├class┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈类文件夹 │ │ │ ├alipay_core.asp┈┈┈┈┈┈┈┈┈┈┈┈支付宝接口公用函数文件 │ │ │ ├alipay_md5.asp ┈┈┈┈┈┈┈┈┈┈┈┈MD5签名函数文件 │ │ │ ├alipay_notify.asp┈┈┈┈┈┈┈┈┈┈┈支付宝通知处理类文件 │ │ │ ├alipay_submit.asp┈┈┈┈┈┈┈┈┈┈┈支付宝接口请求提交类文件 │ │ │ └alipay_config.asp┈┈┈┈┈┈┈┈┈┈┈基础配置文件 │ ├log┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈日志文件夹 │ ├alipayapi.asp┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈支付宝接口入口文件 │ ├index.asp┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈支付宝调试入口页面 │ ├notify_url.asp ┈┈┈┈┈┈┈┈┈┈┈┈┈┈服务器异步通知页面文件 │ ├return_url.asp ┈┈┈┈┈┈┈┈┈┈┈┈┈┈页面跳转同步通知文件 │ └readme.txt ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈使用说明文本 ※注意※ 需要配置的文件是: alipay_config.asp alipayapi.asp notify_url.asp return_url.asp ───────── 类文件函数结构 ───────── alipay_core.asp Function CreateLinkstring(sPara) 功能:把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串 输入:Array sPara 需要拼接的数组 输出:String 拼接完成以后的字符串 Function CreateLinkstringUrlEncode(sPara) 功能:把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串,并且对其做URLENCODE编码 输入:Array sPara 需要拼接的数组 输出:String 拼接完成以后的字符串 Function FilterPara(sPara) 功能:除去数组中的空值和签名参数 输入:Array sPara 签名参数组 输出:Array 去掉空值与签名参数后的新签名参数组 Function SortPara(sPara) 功能:对数组排序 输入:Array sPara 排序前的数组 输出:Array 排序后的数组 Function Md5Sign(prestr, key, input_charset) 功能:MD5签名 输入:String prestr 需要签名的字符串 String key 私钥 String input_charset 编码格式 输出:String 签名结果 Function Md5Verify(prestr, sign, key, input_charset) 功能:MD5签名 输入:String prestr 需要签名的字符串 String sign 签名结果 String key 私钥 String input_charset 编码格式 输出:String 签名结果 Function LogResult(sWord) 功能:写日志,方便测试(看网站需求,也可以改成存入数据库) 输入:String sWord 要写入日志里的文本内容 Function GetDateTimeFormat() 功能:获取当前时间 格式:年[4位]-月[2位]-日[2位] 小时[2位 24小时制]:分[2位]:秒[2位],如:2007-10-01 13:13:1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值