One:前言:微信支付和支付宝支付pc端和app端是不一样的两种形式,如下是我整理的demo,你们能够下载:
Two:下载:php
1>微信pc:http://www.taikongliu.com/pay/example/WxpayAPI_php_v3.zip
(也能够在微信支付平台/开发者文档/扫码支付下载sdk包)
2>支付宝pc:http://www.taikongliu.com/pay/example/pc_ali.zip
(也能够在:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.iUPkW7&treeId=203& articleId=105910&docType=1)
3>微信和支付宝app:http://www.taikongliu.com/pay/example/pay_app.zip
(https://github.com/dcloudio/H5P.Server/tree/master/payment/alipay)
Three:微信开放平台和微信公众平台的区别和做用:
1>微信开放平台:主要面向App开发者,一般是拥有成熟的应用程序以后,经过开放平台将内容分享至朋友圈或发送给某个微 信好友/群聊
2>信公众平台:强调信息流,向微博同样主要推送内容,像10086同样根据用户发来的消息进行智能回复或后台实现某些功 能
Four:微信支付(微信开放平台):
使用微信支付功能需到微信开放平台申请移动应用并开通支付功能
微信APP支付接入商户服务中心
申请应用后能够获取AppID和AppSecret值。
开通支付功能后可获取支付业务服务器配置数据
PARTNER:财付通商户号
PARTNER_KEY:财付通密钥s
PAYSIGNKEY:支付签名密钥
1》微信pc:
1>下载下demo后,在lib/WxPay.Config.php中配置
const APPID = ‘绑定支付的APPID’
const MCHID = 商户号
const KEY = '商户支付密钥,参考开户邮件设置';
const APPSECRET = 公众账号secert
cert/文件下把加密的证书进行所有换掉
2>访问example/native.php,把订单号,金额,同步回掉地址,异步回调等支付信息配置好,就能够生成一张漂亮的二维 码啦!
3>支付成功,在异步回掉接到回掉的订单号等各类微信支付成功的信息,而后进行写上本身的业务逻辑
4>最后记得必定要在异步回掉写上日志,记录交易是否成功等记录
2》微信app:(建议下载Hbuilder调试app端)
1>下载下demo后,在wapay/index.php中配置
2>财付通商户号
$PARTNER = "%商户号(PartnerID)%";
$PARTNER_KEY = 财付通密钥
$APP_ID="appid;
$APP_SECRET= 公众账号secert
$PaySignKey="签名;
$notify_url = "支付完成后的异步回调处理页面";
3>配置号这些信息以后,经过jsonp请求发送须要的订单号(惟一的),每次用这些订单号查询出商品的价格,名称,商品详 情,等这些信息,有了这些信息以后,demo会自定调起微信支付!
4>支付成功,在异步回掉接到回掉的订单号等各类微信支付成功的信息,而后进行写上本身的业务逻辑
5>最后记得必定要在异步回掉写上日志,记录交易是否成功等记录
Five:支付宝支付(蚂蚁金服)
1》首先是申请(企业帐户认证,须要准备如下资料):
1>营业执照
2>申请人有效身份证信息
3>提交申请人企业委托受权书
4>银行对公帐户
2》申请流程:(蚂蚁金服:https://cshall.alipay.com/enterprise/index.htm)
1>注册帐户
2>实名认证
3>签约申请-(后申请签约手机支付)html
https://b.alipay.com/order/productDetail.htm?productId=2013080604609688
4>经过审核,技术集成
3》审核经过后须要提过接入的PID/KEY
1>合做者身份Id(partner)和交易安全效验码(key)是商户与支付宝签约后,商户得到的支付宝商户惟一识别码与密钥
,当商户把支付宝功能接入商户网站时会用到它们,以便让支付宝认证商户。
2>登录支付宝官网(www.alipay.com)
3>点击导航栏中(“商家服务”)
4>点击查询(PID,KEY),便可查询到合做者身份ID,以2008开头的16位纯数字
5>输入支付密码,查询key
pc支付:
1>下载demo后,在alipay.config.php中配置
$alipay_config['partner']= 合做身份者ID,签约帐号,以2088开头由16位纯数字组成的字符串,
$alipay_config['key']= 'MD5密钥,安全检验码,由数字和字母组成的32位字符串';
$alipay_config['notify_url'] = "http://商户网址/create_direct_pay_by_user-PHP-UTF-8/notify_url.php"; // 服务器异步通知页面路径
$alipay_config['return_url'] = "http://www.month11.com/pay/alipay2/return_url.php"; //同步回掉路径
2>在alipayapi.php中配置
$out_trade_no = $_POST['WIDout_trade_no']; //商户订单号,商户网站订单系统中惟一订单号,必填
$subject = $_POST['WIDsubject']; //订单名称,必填
$total_fee = $_POST['WIDtotal_fee']; //付款金额,必填
$body = $_POST['WIDbody']; //商品描述,可空
3>配置好以后访问到alipayapi.php,就会生成很漂亮的二维码
4>支付成功,在异步回掉接到回掉的订单号等各类微信支付成功的信息,而后进行写上本身的业务逻辑
5>最后记得必定要在异步回掉写上日志,记录交易是否成功等记录
app支付:
1>下载demo后,在index.php中配置//
$priKey = "-----BEGIN RSA PRIVATE KEY-----生成密钥时获取的私钥字符串,直接使用pem文件的完整字符串 -----END RSA PRIVATE KEY-----";
$partner = "%支付宝PartnerID%"; //支付宝合做者身份ID,以2088开头的16位纯数字
$seller_id = '%支付宝帐号,一般为邮箱地址%'; // 支付宝帐号
$base_path = urlencode('http://101.***4***38/moblie/index.html'); //同步回掉
$notify_url = urlencode('http://www.t******tify_url.php'); // 异步通知地址
$subject = '***';
$body = '*****'; // 订单详情
$out_trade_no = date('YmdHis', time()); // 订单号,示例代码使用时间值做为惟一的订单ID号
2>配置好这些以后,在经过jsonp传递订单号,支付宝就会调起支付宝支付
3>支付成功,在异步回掉接到回掉的订单号等各类微信支付成功的信息,而后进行写上本身的业务逻辑
4>最后记得必定要在异步回掉写上日志,记录交易是否成功等记录git
注意:全部的异步回调地址,必须写日志或者信息入库,为了防止用户偷单,还要判断用户支付的金额是否和该商品的价格相同github
若是不一致,则订单状态不改变json
six:complete!api