手机端唤醒支付宝可以发起筹款吗发起支付返回可以二次发起吗 php

手机微信浏览器里支付宝支付为什么是这个样子(手机支付宝支付)
[问题点数:40分]
本版专家分:0
CSDN今日推荐
本版专家分:0
本版专家分:0
本版专家分:0
匿名用户不能发表回复!
其他相关推荐手机App集成微信支付&支付宝-iOS(Swift)& Android完整版,包括Server端实现
等2人欣赏。
之前做App端支付集成,晚上搜索了不是资料,可是所有blog基本上都不全面,要么只有iOS,要么只有Android,而且很少文章介绍服务端实现。最近花了两天多时间整理了一下App集成微信支付&支付宝的全过程,包括 iOS Swift版,Android版,以及Server端实现. Github上有Demo,下载后修改配置文件直接可以直接运行。以下是所有文章链接。
如果要了解整个支付流程可以阅读文章。
如果不想看本文的话可以直接到Github。下载源码后只需要修改MyConstants.swift文件中的支付宝相关账号即可运行。
到支付宝商家服务网页申请快捷支付。
首先从支付宝开放平台. 解压后的目录下包含「服务端demo」和「客户端demo」。「客户端demo」包含了集成支付宝所需要的所有文件。
整个支付流程我在文章中有详细描述。
为了保证安全,防止支付结果被截获,在生成订单和处理支付结果的时候就需要做安全校验。生成订单时对数据签名,收到支付结果时对数据进行签名验证,以检验数据是否被篡改过。支付宝目前采用RSA加密方式做签名验证。
除了可加解密外,还可用来作签名校验。
简单的说,RSA会生成一个私钥和一个公钥,私钥你应该独自保管,公钥你可以分发出去。
做签名验证时,你可以用私钥对需要传输的数据做签名加密,生成一个签名值,之后分发数据,接收方通过公钥对签名值做校验,如果一致则认为数据无篡改。
生成公钥和私钥
用openssl生成商户的公钥和私钥,私钥用于提交支付申请时加密,而公钥要在商家服务页面上提交,换取到支付宝的公钥。
对于iOS来说,私钥要转为PKCS8格式,即下述代码的第三行!
openssl genrsa -out rsa_private_key.pem 1024
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt
首先把 AlipaySDK.framework 和 AlipaySDK.bundle 拖到你的项目里面。然后把demo目录下面的openssl和Util两个目录拖到你的工程下面。然后在 Build Settings => Header Search Paths => 添加 "$(SRCROOT)/openssl" 和 "$(SRCROOT)/Util"
否则会有类似报错:"openssl/asn1.h file not found"。
在Build Phases选项卡的Link Binary With Libraries中,增加以下依赖:
其中,需要注意的是:
如果是Xcode 7.0之后的版本,需要添加libc++.tbd、libz.tbd;
如果是Xcode 7.0之前的版本,需要添加libc++.dylib、libz.dylib
新建一个Bridging-Header.h文件,并把该文件的路径添加到 Build Settings => Objective-C Bridging Header。然后在该文件中添加下面两行:
#import &AlipaySDK/AlipaySDK.h&
#import "RSADataSigner.h"
如果你的服务器不支持Https,请在info.plist文件里面添加如下代码:
&key&NSAppTransportSecurity&/key&
&key&NSAllowsArbitraryLoads&/key&
由于支付包支付成功后需要返回App,那么你就需要设置你App独有的Schema:选择你的项目,选择Info,在URL Types中添加一个schema,并设置Url Schemas.
到这一步,整个配置过程就已经完成了。下面的工作就是Coding部分了。
let aliOrder = AlipayOrder(partner: AlipayPartner, seller: AlipaySeller, tradeNO: order.id, productName: order.title, productDescription: order.content, amount: order.price, notifyURL: AlipayNotifyURL, service: "mobile.securitypay.pay", paymentType: "1", inputCharset: "utf-8", itBPay: "30m", showUrl: "m.alipay.com", rsaDate: nil, appID: nil)
let orderSpec = aliOrder.description //orderA.description
let signer = RSADataSigner(privateKey: AlipayPrivateKey)
let signedString = signer.signString(orderSpec)
let orderString = "(orderSpec)&sign="(signedString)"&sign_type="RSA""
print(orderString)
AlipaySDK.defaultService().payOrder(orderString, fromScheme: AppScheme, callback: {[weak self] resultDic in
if let strongSelf = self {
print("Alipay result = (resultDic as Dictionary)")
let resultDic = resultDic as Dictionary
if let resultStatus = resultDic["resultStatus"] as? String {
if resultStatus == "9000" {
strongSelf.delegate?.paymentSuccess(paymentType: .Alipay)
let msg = "支付成功!"
let alert = UIAlertView(title: nil, message: msg, delegate: nil, cancelButtonTitle: "好的")
alert.show()
//strongSelf.navigationController?.popViewControllerAnimated(true)
strongSelf.delegate?.paymentFail(paymentType: .Alipay)
let alert = UIAlertView(title: nil, message: "支付失败,请您重新支付!", delegate: nil, cancelButtonTitle: "好的")
alert.show()
AlipayOrder的description属性如下:
var description:String {
var desc = ""
desc += "partner="(partner)""
desc += "&seller_id="(seller)""
desc += "&out_trade_no="(tradeNO)""
desc += "&subject="(productName)""
desc += "&body="(productDescription)""
desc += "&total_fee="" + amount.format("0.2") + """
desc += "?ify_url="(notifyURL)""
desc += "&service="(service)""
desc += "&payment_type="(paymentType)""
desc += "&_input_charset="(inputCharset)""
desc += "&it_b_pay="(itBPay)""
desc += "&show_url="(showUrl)""
if let rsaDate = rsaDate {
desc += "&sign_date=(rsaDate)"
if let appID = appID {
desc += "&app_id=(appID)"
return desc
通知服务器支付成功
如果支付成功后,支付宝服务器会向你的服务器 notify URL 发起支付成功的请求。这样就可以在服务端实现一些相关的业务逻辑,比如标记订单为已支付,发短信给用户等。notify URL的具体实现请查看文章
查看完整代码请
iOS&Android集成支付宝-server篇(PHP)
在上一篇文章中,我介绍了如何在iOS中集成支付宝。在文章中,我介绍了整个支付流程,在App支付成功后返回后,服务器并不知道相关的订单已经支付成功。在用户付款成功后,支付宝会调用你的服务器Notify URL,告诉你支付成功了。所以服务端主要需要实现的工作就是验证签名以及。
整个验证过程的实验可以参考官方的demo相关代码,官方demo中有一个AlipayNotify类,里面的verifyNotify方法实现了验证过程。验证通过后,就可以做相应的业务逻辑的处理了。需要注意的是支付宝是用POST方式发送通知信息,因此该页面中获取参数的方式为$POST['outtradeno']形式。所有的参数说明请参考官方文档。 所有这些参数中,我们最关心的就是如下几个:
outtradeno : 商户网站唯一订单号(通常是你网站的订单ID)
tradeno: 支付宝交易号 (支付宝系统中的交易流水号,请记录到你的DB,以便以后对账)
tradestatus:交易状态 (TRADESUCCESS 或者 TRADE_FINISHED 就表示支付成功)
获取到这些信息后就可以从自己系统DB里面通过outtradeno查询出相应的订单,标记为支付成功,并记录下相应的交易流水号trade_no. 需要注意的是,处理玩业务逻辑后需要返回"success"给支付宝。实现代码如下:
$alipay_config_app = $this-&config-&item('alipay_config_app');
$alipayNotify = new AlipayNotify($alipay_config_app);
$verify_result = $alipayNotify-&verifyNotify();
if($verify_result) {//验证成功
$out_trade_no = $_POST['out_trade_no'];
//支付宝交易号
$trade_no = $_POST['trade_no'];
//交易状态
$trade_status = $_POST['trade_status'];
$this-&log_result('alipay_notify',"【支付宝回调App】:n".json_encode($_POST)."n");
if($trade_status == 'TRADE_FINISHED' || $trade_status == 'TRADE_SUCCESS') {
//判断该笔订单是否在商户网站中已经做过处理
//如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
//如果有做过处理,不执行商户的业务程序
$order = $this-&order_model-&get_order_info($out_trade_no);
if($order['TradeStatus'] != 'TRADE_FINISHED' && $order['TradeStatus'] != 'TRADE_SUCCESS'){
$data = array('TradeStatus'=&$trade_status,'TradeNo'=&$trade_no,'PayTime'=&time(),'PayType'=&'alipay');
$this-&order_model-&update_order_info($out_trade_no,$data);
//——请根据您的业务逻辑来编写程序(以上代码仅作参考)——
echo "success";
//请不要修改或删除
//验证失败
echo "fail";
//调试用,写文本函数记录程序运行情况是否正常
//logResult("这里写入想要调试的代码变量值,或其他运行的结果记录");
完整的代码请。
Server端是基于实现的,如果你不熟悉的话也没有关系,下载demo后打开 /application/config/myconfig.php 文件,将数组 alipayconfig 中的 partner,key,selleremail,替换成你自己的配置即可运行。
在本文章Demo实现过程中,我没有采用任何安全验证措施,在实际开放过程中Server端API是需要根据自身情况采取相应安全策略的。
iOS集成微信支付-Swift版
微信支付在微信红包的推动发展势头越来越猛,甚至有超过支付宝的趋势,那么在App集成微信支付也是比不可少了。我最近在一个项目中集成微信支付遇到了不少问题,Google了不少资料才搞定,不得不吐槽一下微信支付的官方接口文档,实在太简陋了。我希望这篇文章能够帮到需要在iOS APP中集成微信支付的朋友。
如果不想看文章可以直接到Github下载Demo源码。下载源码后只需要修改MyConstants.swift文件中的微信支付相关账号即可运行。
整个支付流程我在文章《手机App集成微信支付&支付宝-iOS&Android完整版》中有详细描述,这里不再重复。
开发者账号
要在App中集成微信支付的话,首先需要到微信开放平台注册开发者账号。注意是「微信开放平台」,而不是「微信公众平台」。微信公众平台是和公众号开发相关,微信开放平台提供App微信登陆,微信支付等接口。 想详细了解微信支付的同学请点击此链接访问官方文档。
账号注册完成后还需要通过开发者资质认证后,才能获得微信登录、智能接口、公众号第三方平台开发等高级能力。认证费用是300元/年,一年到期后再交钱审核。目前微信只支持企业认证,个人开发者是无法认证的。
微信商户平台
要获取支付权限,还需要登陆「微信商户平台」 和腾讯签约。签约需要扫描上传「营业执照」、「组织机构代码证」、「经营许可证/资格证」、「身份证」等信息。在微信商户平台可以进行查询交易订单,提现等功能。在此需要说明一下的是,微信商户平台和财付通数据其实是通的,在微信和财付通都可以看到同样的交易记录。
登录微信开放平台,进入管理中心,创建移动应用。创建完成后你将得到应用的AppID和AppSecret。创建完应用以后还需要设置「开发信息」
点击「修改」,设置好Bundle ID、Appstore下载地址等信息。
点击该链接到官方网站下载SDK及Demo
解压后的Demo中在文件夹SDKExport下面有 libWeChatSDK.a 、WXApi.h 、 WXApiObject.h 这三个文件。把这三个文件拖到你的项目里面,并在Bridging-Header.h文件中添加如下两行代码。
#import "WXApi.h"
#import "WXApiObject.h"
设置URL Types
URL Schema中填写之前创建的应用的AppID
在Appdelegate中注册微信支付
WXApi.registerApp(WX_APPID, withDescription: "apppaydemo1.0")
获取PrePay信息并发起支付请求
微信支付和支付宝支付流程有些不一样,微信支付会在真正发起支付请求钱先发起PrePay(预支付)请求,然后利用PrePay发起支付请求。Demo中的PrePay是在客户端生成的,但是更加安全的方式是在服务端生成PrePay。我这里是在服务器端获取Prepay信息的,具体实现请查看文章《OS&Android集成微信支付-Server篇》。返回的PrePay信息结构如下:
"appid": "wxxxxxxxxxxx",
"noncestr": "Hk8dsZoMOdTXGjkJ",
"package": "Sign=WXPay",
"partnerid": "",
"prepayid": "wx0000",
"sign": "B4879FFFA8BE2D027A3B8",
"timestamp": "",
"success": true
获取Prepay代码:
@ func weichatPayAction(sender: AnyObject) {
DataService.wxPrePay(order.id) {[weak self] (prepay, error) -& () in
if let strongSelf = self {
if let prepay = prepay {
let req = PayReq()
req.openID = prepay.appID
req.partnerId = prepay.partnerID
req.prepayId = prepay.prepayID
req.nonceStr = prepay.noncestr
req.timeStamp = UInt32(prepay.timestamp)
req.package = prepay.package
req.sign = prepay.sign
WXApi.sendReq(req)
strongSelf.delegate?.paymentFail(paymentType: .Weichat)
let alert = UIAlertView(title: nil, message: "获取支付信息失败,请重新支付!", delegate: nil, cancelButtonTitle: "好的")
alert.show()
App支付完成后返回App, 在Appdelegate中实现协议 WXApiDelegate 中的 onResp方法
func onResp(resp: BaseResp!) {
var strTitle = "支付结果"
var strMsg = "(resp.errCode)"
if resp.isKindOfClass(PayResp) {
switch resp.errCode {
NSNotificationCenter.defaultCenter().postNotificationName(WXPaySuccessNotification, object: nil)
strMsg = "支付失败,请您重新支付!"
print("retcode = (resp.errCode), retstr = (resp.errStr)")
let alert = UIAlertView(title: nil, message: strMsg, delegate: nil, cancelButtonTitle: "好的")
alert.show()
通知服务器支付成功
如果支付成功后,微信服务器会向你的服务器 notify URL 发起支付成功的请求。这样就可以在服务端实现一些相关的业务逻辑,比如标机订单为已支付,发短信给用户等。notify URL的具体实现请查看文章
可能会遇到的错误
如果遇到类似 "WXApiObject.h error:Expected a type : - (void) setThumbImage:(UIImage*)" 的错误,打开文件WXApiObject.h,在顶部加上 #import &UIKit/UIKit.h> 即可
iOS9以后苹果默认使用HTTPS,如果服务器端是HTTP协议,那么就需要在 info.plist 中添加Key:NSAppTransportSecurity, Value设置为 NSAllowsArbitraryLoads
如果你同时用了ShareSDK,那么很有可能会和ShareSDK冲突,导致不能跳转到微信。解决方案就是用微信sdk中的内容替代ShareSDK/extends/WeChatSDK 目录下的文件libWeChatSDK.a, WXApi.h, WXApiObject.h
查看完整代码请
iOS&Android集成微信支付-Server篇(PHP)
在上一篇文章中,我介绍了如何在iOS中集成微信支付。在支付过程中有一步是需要获取PrePay数据,至于如何获取,我会在本文后面详细介绍。在文章中,我介绍了整个支付流程,在App支付成功返回后,你的服务器并不知道相关的订单已经支付成功。这时候微信服务器会向你设置的服务器Notify URL发送POST请求,告诉你支付成功了。所以服务端主要需要实现的工作就是验证签名以及验证是否是微信发来的通知。
获取PrePay
在中是这样描述的:
除被扫支付场景以外,商户系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易回话标识后再按扫码、JSAPI、APP等不同场景生成交易串调起支付。
关于获取预支付接口的请求参数、返回结果以及错误码请。有一点需要注意的是微信支付的接口参数用的是XML格式。下面就是获取PrePay的代码:
$wxpay_config = $this-&wxpay_config = $this-&my_config['wxpay_config'];
//var_dump($wxpay_config);
$APP_ID = $wxpay_config['app_id'];
$APP_SECRET = $wxpay_config['app_secret'];
//appsecret
$MCH_ID=$wxpay_config['mch_id'];
$PARTNER_ID = $wxpay_config['partner_id'];
$NOTIFY_URL = $wxpay_config['notify_url'];
if (!$out_trade_no) {
$this-&display_error(400,'请求是无效的');
$order = $this-&order_model-&get_order_info($out_trade_no);
if (!$order) {
$this-&display_error(1,'请求是无效的');
//STEP 1. 构造一个订单。
$order=array(
"body" =& $order['Subject'],
"appid" =& $APP_ID,
"device_info" =& "APP-001",
"mch_id" =& $MCH_ID,
"nonce_str" =& mt_rand(),
"notify_url" =& $NOTIFY_URL,
"out_trade_no" =& $out_trade_no,
"spbill_create_ip" =& $this-&input-&ip_address(),
"total_fee" =& intval($order['TotalFee'] * 100),//注意:前方有坑!!!最小单位是分,跟支付宝不一样。1表示1分钱。只能是整形。
"trade_type" =& "APP"
ksort($order);
//STEP 2. 签名
foreach ($order as $key =& $value) {
if($value&&$key!="sign"&&$key!="key"){
$sign.=$key."=".$value."&";
$sign.="key=".$PARTNER_ID;
$sign=strtoupper(md5($sign));//echo $sign.'
//STEP 3. 请求服务器
foreach ($order as $key =& $value) {
$xml.="&".$key."&".$value."n";
$xml.="".$sign."n";
$opts = array(
=& 'POST',
=& 'Content-type: text/xml',
'content' =& $xml
"ssl"=&array(
"verify_peer"=&false,
"verify_peer_name"=&false,
= stream_context_create($opts);
$result = file_get_contents('https://api.mch.weixin.qq.com/pay/unifiedorder', false, $context);
$result = simplexml_load_string($result,null, LIBXML_NOCDATA);
if ($result-&return_code == 'SUCCESS' && $result-&result_code == 'SUCCESS') {
$prepay=array(
"noncestr"=&"".$result-&nonce_str,
"prepayid"=&"".$result-&prepay_id,//上一步请求微信服务器得到nonce_str和prepay_id参数。
"appid"=&$APP_ID,
"package"=&"Sign=WXPay",
"partnerid"=&$MCH_ID,
"timestamp"=&"".time(),
"sign"=&""
ksort($prepay);
foreach ($prepay as $key =& $value) {
if($value&&$key!="sign"&&$key!="key"){
$sign.=$key."=".$value."&";
$sign.="key=".$PARTNER_ID;
$sign=strtoupper(md5($sign));
$prepay['sign'] = $
$prepay['success'] =
$prepay=array(
"success" =& false,
"noncestr"=&"",
"prepayid"=&"",
"appid"=&$APP_ID,
"package"=&"Sign=WXPay",
"partnerid"=&$MCH_ID,
"timestamp"=&"".time(),
"sign"=&"",
"return_msg"=&$result-&return_msg
$this-&response($prepay, 200);
此处有一个坑需要注意,微信支付接口的金额最小单位是分,跟支付宝不一样,1表示1分钱,且只能是整形。
客户端App通过该API获取到PrePay信息有就可以发起支付请求了。客户端的实现代码请查看文章。
Notify URL
前面说过,这个URL是支付成功后微信调用的。那么微信Server是如何知道这个URL的呢?其实是在前面请求PrePay的时候通过参数notifyurl传过去的。
微信调用支付结果通知的详细参数请访问文档。同样,参数格式也是XML。
所有这些参数中,我们最关心的应该是下面几个:
returncode :返回状态码。SUCCESS/FAIL
resultcode : 交易标识,交易是否成功 SUCCESS/FAIL
outtradeno : 商户订单号, 需要在你的数据库能够唯一标志订单
transactionid :微信支付订单号,流水号。记录到你的数据库方便对账用
获取到这些信息后就可以从自己系统DB里面通过outtradeno查询出相应的订单,标记为支付成功,并记录下相应的交易流水号transactionid. 需要注意的是,处理玩业务逻辑后需要返回"returncode"为"success"给微信服务器。
Notify实现代码如下:
* 微信支付Notify
function wxpay_notify(){
//使用通用通知接口
$notify = new Notify_pub();
//存储微信的回调
$xml = $GLOBALS['HTTP_RAW_POST_DATA'];
$notify-&saveData($xml);
//验证签名,并回应微信。
//对后台通知交互时,如果微信收到商户的应答不是成功或超时,微信认为通知失败,
//微信会通过一定的策略(如30分钟共8次)定期重新发起通知,
//尽可能提高通知的成功率,但微信不保证通知最终能成功。
if($notify-&checkSign() == FALSE){
$notify-&setReturnParameter("return_code","FAIL");//返回状态码
$notify-&setReturnParameter("return_msg","签名失败");//返回信息
$notify-&setReturnParameter("return_code","SUCCESS");//设置返回码
$returnXml = $notify-&returnXml();
echo $returnX
//==商户根据实际情况设置相应的处理流程,此处仅作举例=======
//以log文件形式记录回调信息
$log_type="wxpay_notify";//log文件路径
$this-&log_result($log_type,"【接收到的notify通知】:n".$xml."n");
if($notify-&checkSign() == TRUE) {
if ($notify-&data["return_code"] == "FAIL") {
//此处应该更新一下订单状态,商户自行增删操作
$this-&log_result($log_type,"【通信出错】:n".$xml."n");
} elseif ($notify-&data["result_code"] == "FAIL") {
//此处应该更新一下订单状态,商户自行增删操作
$this-&log_result($log_type,"【业务出错】:n".$xml."n");
//此处应该更新一下订单状态,商户自行增删操作
$this-&log_result($log_type,"【支付成功】:n".$xml."n");
$out_trade_no = $notify-&data['out_trade_no'];
$trade_no = $notify-&data['transaction_id'];
$order = $this-&order_model-&get_order_info($out_trade_no);
if($order['TradeStatus'] != 'TRADE_FINISHED' && $order['TradeStatus'] != 'TRADE_SUCCESS'){
$data = array('TradeStatus'=&'TRADE_SUCCESS','TradeNo'=&$trade_no,'PayTime'=&time(),'PayType'=&'wxpay');
$this-&order_model-&update_order_info($out_trade_no,$data);
完整的实现代码请。
Server端是基于实现的,如果你不熟悉的话也没有关系,下载demo后打开 /application/config/myconfig.php 文件,将数组 wxpayconfig 中的 appid,appsecret,mchid, partnerid,notifyurl,替换成你自己的配置即可运行。
其中 appid,appsecret 是你在微信开放平台创建的应用。
mch_id为「微信支付商户号」,登录即可看到。
在本文章Demo实现过程中,我没有采用任何安全验证措施,在实际开放过程中Server端API是需要根据自身情况采取相应安全策略的。
顶一下教程。
强 烈 支 持
淫才,还有啥好东西一起放出来
@ 只是自己在开发过程中遇到了一些坑,所以写教程出来希望其他不要踩坑如果项目为你带来方便,请给我持续更新的动力,谢谢
感谢您的开源项目!
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
已有帐号?
Payment是一个php版本的支付聚合第三方sdk,集成了微信支付、支付宝支付、招商一网通支付。提供统一的调用接口,方便快速接入各种支付、查询、退款、转账能力。
由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...





提醒:发现有人将我提供的支付宝测试账号乱修改资料,打广告。请大家不要加上面的任何联系方式。如果再发现,我就把测试账号注销了(怕大家被骗)







Payment 需要 PHP &= 5.6以上的版本,并且同时需要PHP安装以下扩展
- cUR extension

- mbstring

- BC Math

- Guzzle

guzzle 是一个开源的php http请求lib,

Payment是什么?
Payment是一个集成了 支付宝支付、微信支付、招商支付的PHP SDK。服务端开发者将它集成到自己的项目中,可以方便的通过相同的操作方式进行各项支付操作。不再需要开发者去单独了解支付宝、微信、招商的接口文档。以发起支付举例,开发者只需要通过:
try {

$str = Charge::run(支付类型, 配置文件, 支付数据);
} catch (PayException $e) {

echo $e-&errorMessage();

}

就可以得到支付结果返回数据。关心的核心只需要正确了解如何组装支付数据,以及如何正确处理返回后的数据即可。
Payment支持所有的PHP项目,只要求PHP版本大于等于5.6即可。同时支持composer与手动引入两种安装方式。

当前支持的接口
当前sdk仅接入了支付宝支付、微信支付、招商支付(支付、退款)。中国现在电子支付的公司巨多,无法一一接入,欢迎各位发扬自己动手、丰衣足食的光荣传统,提交PR给我,代码贡献指南 

支付宝接口


APP支付(接入支付宝SDK,用户支付时唤起支付宝完成支付)

手机网站支付(移动端唤起支付宝钱包或网页收银台完成支付)

电脑网站支付(用户通过支付宝完成支付,交易款项即时到账)-原即时到账

当面付(商户扫码首款或用户扫码付款)

单笔转账到支付宝(支付宝商户向其它支付宝账户单笔转账)
交易支付、转账、退款查询接口
交易退款接口
对账单下载(待开发)
交易结算接口(待开发)
交易关闭接口(待开发)


微信支付接口


刷卡支付(用户打开微信钱包的刷卡界面,商户扫码后提交完成交易)

公众号支付(用户在微信内进入商家的H5页面,页面内调用JSSDK完成支付)

扫码支付(用户打开扫一扫,扫码商户二维码完成支付)

APP支付(商户APP中集成微信SDK,用户点击后跳转到微信完成支付)

H5支付(用户在微信以外的浏览器请求微信支付的场景唤起微信支付)

小程序支付(用户在微信小程序中使用微信支付)

企业付款(企业向用户付款)
交易支付、转账、退款查询接口
交易退款接口
对账单下载(待开发)
现金红包(待开发)
代金券或立减优惠券(待开发)


招商支付


用户签约(首次使用招商支付的用户完成绑卡操作)

招商一网通支付(发起支付请求,招商支付仅此一个接口)
交易退款
查询招商公钥
交易支付、退款查询
查询入账明细(待开发)
查询协议(待开发)
取消协议(待开发)


安装
通过composer,这是推荐的方式,可以使用composer.json 声明依赖,或者直接运行下面的命令。

composer require "riverslei/payment:*"

放入composer.json文件中

"require": {

"riverslei/payment": "*"

}

然后运行
composer update



联系&打赏
感谢朋友们的支持:


个人公众号:icanfo

联系邮箱:




打赏扫这里,请留下尊姓大名


Contribution


License
The code for Payment is distributed under the terms of the MIT license (see ).
正在加载...
正在加载...

我要回帖

更多关于 支付宝怎么发起筹款 的文章

 

随机推荐