One:前言:微信支付和支付宝支付pc端和app端是不同的两种形式,以下是我整理的demo,大家可以下载:
Two:下载:
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>签约申请-(后申请签约手机支付)
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>最后记得一定要在异步回掉写上日志,记录交易是否成功等记录
注意:所有的异步回调地址,必须写日志或者信息入库,为了防止用户偷单,还要判断用户支付的金额是否和该商品的价格相同
如果不一致,则订单状态不改变
six:complete!