╭───────────────────────╮
────┤ 支付宝代码示例结构说明 ├────
╰───────────────────────╯
代码版本:3.3
开发语言:PHP
版 权:支付宝(中国)网络技术有限公司
制 作 者:支付宝商户事业部技术支持组
联系方式:商户服务电话0571-88158090
─────────────────────────────────
───────
代码文件结构
───────
php-UTF-8
│
├lib┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈类文件夹
│ │
│ ├alipay_core.function.php ┈┈┈┈┈┈支付宝接口公用函数文件
│ │
│ ├alipay_notify.class.php┈┈┈┈┈┈┈支付宝通知处理类文件
│ │
│ └alipay_rsa.function.php┈┈┈┈┈┈┈支付宝接口RSA函数文件
│
├log.txt┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈日志文件
│
├alipay.config.php┈┈┈┈┈┈┈┈┈┈┈┈基础配置类文件
│
├notify_url.php ┈┈┈┈┈┈┈┈┈┈┈┈┈服务器异步通知页面文件
│
├key┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈私钥公钥文件夹(用法见下方※注意※)
│ │
│ ├rsa_private_key.pem┈┈┈┈┈┈┈┈┈商户的私钥文件
│ │
│ └alipay_public_key.pem┈┈┈┈┈┈┈┈支付宝的公钥文件
│
├openssl┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈缺省dll文件(用法见下方※注意※)
│ │
│ ├libeay32.dll
│ │
│ ├ssleay32.dll
│ │
│ └php_openssl.dll
│
├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
key文件夹
3、秘钥解答:
●商户的私钥、商户的公钥、支付宝公钥
key文件夹里面须存放.pem后缀名的商户私钥、支付宝的公钥两个文件。
◆商户的私钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、不需要对刚生成的(原始的)私钥做pkcs8编码
3、不需要去掉去掉“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”
简言之,只要维持刚生成出来的私钥的内容即可。
◆商户的公钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、去掉“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”,只保存这两条文字之中的部分
3、保存好后,命名须“合作者身份ID.dat”的命名方式,如:2088101568342279.dat
4、重命名后,交给支付宝
◆支付宝公钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、须保留“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”这两条文字。
简言之,支付宝公钥只需要维持原样即可。
●openssl文件夹中的3个DLL文件用法
1、如果你的系统是windows系统,且system32文件目录下没有libeay32.dll、ssleay32.dll这两个文件
那么需要拷贝这两个文件到system32文件目录中
2、如果您的php安装目录下(php\ext)中没有php_openssl.dll
那么请把php_openssl.dll放在这个文件夹中
●本代码示例(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 getHttpResponsePOST($url, $cacert_url, $para, $input_charset = '')
功能:远程获取数据,POST模式
输入:String $url 指定URL完整路径地址
String $cacert_url 指定当前工作目录绝对路径
Array $para 请求的数据
String $input_charset 编码格式。默认值:空值
输出:String 远程输出的数据
function getHttpResponseGET($url, $cacert_url)
功能:远程获取数据,GET模式
输入:String $url 指定URL完整路径地址
String $cacert_url 指定当前工作目录绝对路径
输出: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 解码后的字符串
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
alipay_rsa.function.php
function sign($data, $private_key_path)
功能:RSA签名
输入:String $data 待签名数据
String $private_key_path 商户私钥文件路径
输出:String 签名结果
function verify($data, $ali_public_key_path, $sign)
功能:RSA验签
输入:String $data 待签名数据
String $ali_public_key_path 支付宝的公钥文件路径
String $sign 要校对的的签名结果
输出:bool 验证结果
function decrypt($content, $private_key_path)
功能:RSA解密
输入:String $content 需要解密的内容,密文
String $private_key_path 商户私钥文件路径
输出:String 解密后内容,明文
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
alipay_notify.class.php
function verifyNotify()
功能:对notify_url的认证
输出:Bool 验证结果:true/false
function verifyReturn()
功能:对return_url的认证
输出:Bool 验证结果:true/false
function getSignVeryfy($para_temp, $sign)
�
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
WS_MOBILE_PAY_SDK_BASE (230个子文件)
resources.ap_ 18KB
notify_url.aspx 103B
notify_url.aspx 103B
applink.c 3KB
jarlist.cache 120B
PayDemoActivity.class 7KB
H5PayDemoActivity.class 5KB
Base64.class 4KB
H5PayDemoActivity$MyWebViewClient.class 2KB
H5PayDemoActivity$MyWebViewClient$1.class 2KB
PayResult.class 2KB
SignUtils.class 2KB
PayDemoActivity$1.class 2KB
PayDemoActivity$3.class 1KB
H5PayDemoActivity$MyWebViewClient$1$1.class 1KB
H5PayDemoActivity$1.class 935B
PayDemoActivity$2.class 926B
ExternalFragment.class 775B
R.class 566B
R$id.class 533B
R$drawable.class 498B
R$layout.class 449B
R$string.class 413B
R$attr.class 355B
BuildConfig.class 355B
.classpath 841B
.classpath 841B
.classpath 564B
openssl.cnf 9KB
org.eclipse.wst.common.component 535B
org.eclipse.wst.common.component 529B
Web.Config 286B
Web.Config 282B
RSA.cs 14KB
RSA.cs 14KB
AlipayNotify.cs 7KB
AlipayNotify.cs 7KB
notify_url.aspx.cs 5KB
AlipayCore.cs 5KB
AlipayCore.cs 5KB
notify_url.aspx.cs 5KB
AlipayConfig.cs 3KB
AlipayConfig.cs 3KB
classes.dex 1.09MB
libeay32.dll 1.07MB
libeay32.dll 1.07MB
libeay32.dll 1.05MB
ssleay32.dll 268KB
ssleay32.dll 268KB
ssleay32.dll 200KB
php_openssl.dll 80KB
php_openssl.dll 80KB
openssl.exe 312KB
safestack.h 124KB
obj_mac.h 111KB
ssl.h 81KB
x509.h 47KB
asn1.h 46KB
engine.h 37KB
evp.h 35KB
objects.h 33KB
bn.h 32KB
bio.h 30KB
x509v3.h 29KB
pem.h 27KB
asn1t.h 27KB
store.h 26KB
ocsp.h 23KB
ssl3.h 22KB
crypto.h 22KB
ec.h 21KB
x509_vfy.h 20KB
symhacks.h 19KB
asn1_mac.h 19KB
des_old.h 18KB
rsa.h 18KB
tls1.h 18KB
ui.h 16KB
pkcs7.h 16KB
dso.h 16KB
pkcs12.h 12KB
err.h 12KB
des.h 10KB
ssl2.h 10KB
ecdsa.h 10KB
dsa.h 10KB
e_os2.h 9KB
conf.h 9KB
dh.h 8KB
krb5_asn.h 7KB
lhash.h 7KB
sha.h 7KB
opensslconf.h 6KB
ossl_typ.h 6KB
pq_compat.h 6KB
dtls1.h 6KB
kssl.h 6KB
aes.h 5KB
rand.h 5KB
blowfish.h 5KB
共 230 条
- 1
- 2
- 3
资源评论
xiaohuihuiniihao
- 粉丝: 12
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功