文档章节

支付宝 含PHP支付接口demo

mickelfeng
 mickelfeng
发布于 2013/03/14 13:40
字数 1818
阅读 300
收藏 1

 http://help.alipay.com/support/help_detail.htm?help_id=250154

一、担保交易接口特征:
买家拍下交易先将资金支付交易,存入支付宝的中间账户并通知卖家发货,买家确认收货后资金自动进入卖家支付宝账户,完成交易。 付款-发货-收货的交易过程根据交易超时时间进行推进。深受买家喜爱与信赖。

二、即时到账接口特征:
网上交易时,买家拍下交易先将资金支付交易,资金直接打入卖家支付宝账户,完成交易。卖家可快速回笼交易资金。

三、双功能接口特征:
买家付款时,可选择担保交易或即时到账中的任一支付方式进行付款,完成交易。

独立建站

  • 1、在线签约前往 产品商店
  • 2、下载开发包下载对应产品开发包
  • 3、获取PID/key登录本站 获取
  • 4、开发根据开发包内教程完成开发
  • 5、测试上线小额资金进行测试确保接口正常使用
            ╭───────────────────────╮
    ────┤           支付宝代码示例结构说明             ├────
            ╰───────────────────────╯ 
                                                                   
        接口名称:支付宝即时到账批量退款有密接口(refund_fastpay_by_platform_pwd)
       代码版本:3.3
         开发语言:PHP
         版    权:支付宝(中国)网络技术有限公司
        制 作 者:支付宝商户事业部技术支持组
         联系方式:商户服务电话0571-88158090
 
    ─────────────────────────────────
 
───────
 代码文件结构
───────
 
refund_fastpay_by_platform_pwd-php-GBK
  │
  ├lib┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈类文件夹
  │  │
  │  ├alipay_core.function.php ┈┈┈┈┈┈支付宝接口公用函数文件
  │  │
  │  ├
  │  │
  │  ├alipay_notify.class.php┈┈┈┈┈┈┈支付宝通知处理类文件
  │  │
  │  ├alipay_submit.class.php┈┈┈┈┈┈┈支付宝各接口请求提交类文件
  │  │
  │  └alipay_md5.function.php┈┈┈┈┈┈┈支付宝接口MD5函数文件
  │
  ├log.txt┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈日志文件
  │
  ├alipay.config.php┈┈┈┈┈┈┈┈┈┈┈┈基础配置类文件
  │
  ├alipayapi.php┈┈┈┈┈┈┈┈┈┈┈┈┈┈支付宝接口入口文件
  │
  ├notify_url.php ┈┈┈┈┈┈┈┈┈┈┈┈┈服务器异步通知页面文件
  │
  ├cacert.pem ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈用于CURL中校验SSL的CA证书文件
  │
  └readme.txt ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈使用说明文本
 
※注意※
 
1、必须开启curl服务
(1)使用Crul需要修改服务器中php.ini文件的设置,找到php_curl.dll去掉前面的";"即可
(2)文件夹中cacert.pem文件请务必放置到商户网站平台中(如:服务器上),并且保证其路径有效,提供的代码demo中的默认路径是当前文件夹下——getcwd().'\\cacert.pem'
 
2、需要配置的文件是:
alipay.config.php
alipayapi.php
 
●本代码示例(DEMO)采用fsockopen()的方法远程HTTP获取数据、采用DOMDocument()的方法解析XML数据。
 
请根据商户网站自身情况来决定是否使用代码示例中的方式——
如果不使用fsockopen,那么建议用curl来代替;
如果环境不是PHP5版本或其以上,那么请用其他方法代替DOMDocument()。
 
curl、XML解析方法需您自行编写代码。
 
 
─────────
 类文件函数结构
─────────
 
alipay_core.function.php
 
function createLinkstring($para)
功能:把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串
输入:Array  $para 需要拼接的数组
输出:String 拼接完成以后的字符串
 
function createLinkstringUrlencode($para)
功能:把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串,并对参数值urlencode
输入:Array  $para 需要拼接的数组
输出:String 拼接完成以后的字符串
 
function paraFilter($para)
功能:除去数组中的空值和签名参数
输入:Array  $para 签名参数组
输出:Array  去掉空值与签名参数后的新签名参数组
 
function argSort($para)
功能:对数组排序
输入:Array  $para 排序前的数组
输出:Array  排序后的数组
 
function logResult($word='')
功能:写日志,方便测试(看网站需求,也可以改成存入数据库)
输入:String $word 要写入日志里的文本内容 默认值:空值
 
function getHttpResponse($url, $input_charset = '', $time_out = "60")
功能:远程获取数据
输入:String $url 指定URL完整路径地址
      String $input_charset 编码格式。默认值:空值
      String $time_out 超时时间。默认值:60
输出:String 远程输出的数据
 
function charsetEncode($input,$_output_charset ,$_input_charset)
功能:实现多种字符编码方式
输入:String $input 需要编码的字符串
      String $_output_charset 输出的编码格式
      String $_input_charset 输入的编码格式
输出:String 编码后的字符串
 
function charsetDecode($input,$_input_charset ,$_output_charset) 
功能:实现多种字符解码方式
输入:String $input 需要解码的字符串
      String $_output_charset 输出的解码格式
      String $_input_charset 输入的解码格式
输出:String 解码后的字符串
 
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
 
function md5Sign($prestr, $key)
功能:MD5签名
输入:String $prestr 待签名数据
      String $key 私钥
输出:String 签名结果
 
function md5Verify($prestr, $sign, $key)
功能:MD5验签
输入:String $data 待签名数据
      String $sign 签名结果
      String $key 私钥
输出:bool 验证结果
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
 
alipay_notify.class.php
 
function verifyNotify()
功能:对notify_url的认证
输出:Bool  验证结果:true/false
 
function verifyReturn()
功能:对return_url的认证
输出:Bool  验证结果:true/false
 
unction getSignVeryfy($para_temp, $sign)
功能:获取返回时的签名验证结果
输入:Array $para_temp 通知返回来的参数数组
      String $sign 支付宝返回的签名结果
输出:Bool 获得签名验证结果
 
function getResponse($notify_id)
功能:获取远程服务器ATN结果,验证返回URL
输入:String $notify_id 通知校验ID
输出:String 服务器ATN结果
 
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
 
alipay_submit.class.php
 
function buildRequestMysign($para_sort)
功能:生成要请求给支付宝的参数数组
输入:Array $para_sort 已排序要签名的数组
输出:String 签名结果
 
function buildRequestPara($para_temp)
功能:根据反馈回来的信息,生成签名结果
输入:Array $para_temp 请求前的参数数组
输出:String 要请求的参数数组
 
function buildRequestParaToString($para_temp)
功能:根据反馈回来的信息,生成签名结果
输入:Array $para_temp 请求前的参数数组
输出:String 要请求的参数数组字符串
 
function buildRequestForm($para_temp, $method, $button_name)
功能:建立请求,以表单HTML形式构造(默认)
输入:Array $para_temp 请求前的参数数组
      String $method 提交方式。两个值可选:post、get
      String $button_name 确认按钮显示文字
输出:String 提交表单HTML文本
 
function buildRequestHttp($para_temp)
功能:建立请求,以模拟远程HTTP的POST请求方式构造并获取支付宝的处理结果
输入:Array $para_temp 请求前的参数数组
输出:String 支付宝处理结果
 
function buildRequestHttpInFile($para_temp, $file_para_name, $file_name)
功能:建立请求,以模拟远程HTTP的POST请求方式构造并获取支付宝的处理结果,带文件上传功能
输入:Array $para_temp 请求参数数组
      String $file_para_name 文件类型的参数名
      String $file_name 文件完整绝对路径
输出:String 支付宝返回处理结果
 
function query_timestamp() 
功能:用于防钓鱼,调用接口query_timestamp来获取时间戳的处理函数
输出:String 时间戳字符串
 
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
 
 
──────────
 出现问题,求助方法
──────────
 
如果在集成支付宝接口时,有疑问或出现问题,可使用下面的链接,提交申请。
https://b.alipay.com/support/helperApply.htm?action=supportHome
我们会有专门的技术支持人员为您处理

本文转载自:

共有 人打赏支持
mickelfeng

mickelfeng

粉丝 231
博文 2691
码字总数 572923
作品 0
成都
高级程序员
私信 提问
加载中

评论(3)

mickelfeng
mickelfeng
OK
T_kress
T_kress
求给看
wgwcy
wgwcy
求给看
支付宝---手机APP支付

手机APP支付总结: 一. 支付宝手机APP支付: 支付宝手机APP文档: https://doc.open.alipay.com/docs/doc.htm?treeId=204&articleId=105051&docType=1 首先先了解支付宝官方提供的官方文档, 说明...

噼里啪啦啦
2017/04/17
0
0
个人开发者即时到账收款方案 BufPay.com

前言 作为独立开发者,一般只有一个人独立奋战,做出了产品需要收款是非常麻烦的,接入支付宝微信支付都需要公司公户,而注册公司、开公户等一系列操作非常麻烦,成本也很高一年也要 1w 左右...

bufpay
07/10
0
0
支付宝支付之扫码支付(电脑网站支付)、H5支付(手机网站支付)相关业务流程分析总结

前言 在上一篇文章《微信支付之扫码支付、公众号支付、H5支付、小程序支付相关业务流程分析总结》中,分析和总结了微信支付相关支付类型的业务流程,这里作为与微信支付平起平坐不相伯仲的支...

龙行天涯
08/22
0
0
PHP 支付类库 PaySDK v1.0.2,新增支付宝微信企业付款等

上周五发布了1.0.1版本后,反响强烈,都给PaySDK提了很多建议。本周主要是集成进了支付宝和微信的企业转账、海外支付功能,并且还修复了上一个版本的微信BUG。 PHP 支付类库 PaySDK v1.0.2 ...

宇润
2017/11/24
3.8K
18
OpenCart 2.X – Alipay Cross border Mobile Payment Extension

Overview This extension allows you to accept payments made via the Alipay Cross-border Mobile Payment gateway. The module supports all of the 16 currencies, and Fully support CN......

Alipaymate
2015/12/15
151
0

没有更多内容

加载失败,请刷新页面

加载更多

Flink-数据流编程模型

1、抽象等级 Flink提供了不同级别的抽象来开发流/批处理应用程序。 1) 低层级的抽象 最低层次的抽象仅仅提供有状态流。它通过Process函数嵌入到DataStream API中。它允许用户自由地处理来自一...

liwei2000
24分钟前
1
0
Java开发Swing实战JFrame和JTabbedPane容器的用法详细解析

概述: 项目是一个桌面程序,涉及标签和按钮组件、布局管理器组件、面板组件、列表框和下拉框组件等组件,以及Swing事件处理机制。 下面先从最基础的界面开始。 /** * @author: lishuai * @...

金铭鼎IT教育
29分钟前
9
0
flask 之旅

环境 为了正确地跑起来,你的应用需要依赖许多不同的软件。 就算是再怎么否认这一点的人,也无法否认至少需要依赖Flask本身。 你的应用的运行环境,在当你想要让它跑起来时,是至关重要的。 ...

hblt-j
30分钟前
6
0
easyui的上传文件

记录一下自己亲手操刀easyui的心得:不用不知道,一用就问题多,网上查资料,有用的真的太少了 ——————————————————正文 FileBox,还是不错的讲真,至少我去自己写就gaga了...

anlve
31分钟前
4
0
如何做好SQLite 使用质量检测,让事故消灭在摇篮里

本文由云+社区发表 SQLite 在移动端开发中广泛使用,其使用质量直接影响到产品的体验。 常见的 SQLite 质量监控一般都是依赖上线后反馈的机制,比如耗时监控或者用户反馈。这种方式问题是: ...

腾讯云加社区
33分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部