如何调用微信支付接口支付apply接口出错

网站集成支付宝接口
编辑:www.fx114.net
本篇文章主要介绍了"网站集成支付宝接口 ",主要涉及到网站集成支付宝接口 方面的内容,对于网站集成支付宝接口 感兴趣的同学可以参考一下。
现将收集整理来的资料共享出来:
一、申请免费集成服务(菜鸟级别):
二、自助集成服务(高手级别):
1、支付宝接口程序,虚拟物品技术文挡下载: 按照文档中的提示进行集成操作。
四种不同语言的支付宝接口程序下载:
(gbk)
(utf-8)
(gbk)
(utf-8)
2、支付宝接口程序,虚拟物品技术文挡下载: 
四种不同语言的支付宝接口程序下载:&&
utf-8)
gbk)
(gbk)
(utf-8)
(链接到论坛其他帖子)
将service改成create_digital_goods_trade_p,费用,通知返回地址等即可实现实物交易,详细参数请自行设定将service改成trade_create_by_buyer,修改物流方式以及费用等即可实现实物交易,详细参数请自行设定将service改成create_donate_trade_p,total_fee费用等即可实捐赠项目,详细参数请自行设定
提醒:对自助集成支付宝服务的体验版商家,交易成功后系统自动扣除交易金额的3%作为交易手续费。如需升级为特约商家享受更低费率,官方。
3、支付宝接口程序,捐赠服务
 按照文档中的提示进行集成操作。
支付宝捐赠接口。捐赠人可以任意填写金额进行捐赠的,同时alipay文件夹下面有return alipay notify.asp的页面通知接口。
三、支付宝接口出现的常见问题FAQ:
1、ILLEGAL_PARTNER,HASH_NO_PRIVILEGE,ILLEGAL_SIGN这三种常见的错误代码,代表什么意思,一般是什么情况下出现的?答:ILLEGAL_PARTNER为无效的合作伙伴id。Partner id是在自己的支付宝账户内提取的一串数字,常见的为填写成了支付宝email或者是复制到程序的时候多了空格。&& HASH_NO_PRIVILEGE,没有权限,如果是虚拟或者实物交易,请账户内自己申请。&& ILLEGAL_SIGN,签名错误。说明程序计算出来的sign和支付宝计算结果不匹配。出现这种错误的情况很多,比如签名的排序错误,安全校验码填写错误,net。Java程序中没有制定编码。1. MD5校验顺序问题MD5是根据参数汇总表的参数,按照字母升序顺序排列。您需要传递哪些参数,就要将那些参数加入到MD5的原始字符串中。原始字符串最后记得串上自己的安全校验码。例如:调用某接口需要以下参数:service= create_direct_pay_by_userpartner=0000key(支付宝安全校验码)=3email=那么待签名数据就是:email=&partner=0000&service= create_direct_pay_by_user32.通知返回的种类现支付宝的通知有两类。通知地址不需要像以前一样去账户内设置,而是由客户在支付的时候通过参数传递给我地址。例如notify_url=”/notify_alipay.asp”A服务器通知,对应的参数为notify_url,支付宝通知使用POST方式B页面跳转通知,对应的参数为return_url,支付宝通知使用GET方式3.通知返回是返回到哪里?不需要像以前一样去账户内设置,而是由客户在支付的时候通过参数传递给我地址。例如notify_url=/ntofiy_alipay.asp 我们将根据传递过来的地址,返回给你消息,请注意格式,地址要是全的http://的绝对地址。4.为什么我都设置对了没有收到消息通知呢?A您设置的接受消息通知的URL没有写全,您可能写成了,请写成或者这样完全的URL5.虚拟物品的流程问题由于支付宝的ATN(active trade notify)是服务器通知,有完备的通知策略,可以说能接近达到0掉单。但是可能会由于网络的原因通知不能实时到达!6.订单号参数设置问题客户的订单号参数为out_trade_no。每个客户的购物网站上,都有自己的订单流水号,可以把相关的订单号传递给支付宝,以作对账之用。在支付宝程序中,out_trade_no,一定是变量,不可以是一个定值。7.中文编码问题我的参数排序肯定没有错,为何我无论怎么设置,总提示错误?ILLEGAL_SIGN无论使用何种语言写的支付程序,请注意url请求(request)过来时候的编码,需要使用gb2312或者gbk。 8.我是淘宝会员也是开发者,请问在淘宝上使用支付宝和在外部使用有什么区别么?在任何使用支付宝的网站上所进行的“支付宝交易”和在淘宝上使用没有区别,支付宝会给您做交易中介的。交易时您最好看清楚交易的内容,价格,商品介绍等信息。作为开发者一定要熟悉“支付宝交易”的流程。9.为何我一直接收不到支付宝的交易通知?会有支付宝到您服务器的网络不通的情况:可能由于DNS解析,网通或电信线路维修,DNS问题可以在URL里面直接设置IP来解决。能接收到通知的先决条件:必须有不重复的交易订单号,支付时传递给了支付宝了通知返回URL(notify_url或者return_url)。支付宝通知的请求是一串url,如果您是apache服务器,可以查看apache的access.log看是否有访问记录。iis也有相应的访问log(具体位置不记得了。知道的朋友麻烦站内信息发我一下)附:dboyzhang:建立一个最简单的程序看看有没有返回信息,比如一个很简单的写入文件程序,把GET方式传来的信息写少许进文件,然后在商家工具进行故障申请查看返回结果。注意是GET方式,ASP中是request("notify_id")而不是request.form("notify_id")10.购物车打包使用支付交易时如何设置请求请分别传递您商品的实际总价格price和邮费,以及邮费实际承担方,这样就不会出现让客户感觉很奇怪的一些问题了。11.通知返回接口,在收到支付宝通知以后,是否再返回给支付宝消息?支付宝的通知形式有两种:A服务器通知,对应的参数为notify_url,支付宝通知使用POST方式B页面跳转通知,对应的参数为return_url,支付宝通知使用GET方式对于return的页面通知,接受到支付宝的消息以后,不需要给支付宝系统任何的回应。而对于notify的服务器通知,在收到支付宝通知后,请按照自己需要的业务逻辑处理,并返回一个不包含任何HTML标签的页面,里面仅包含“Success”或者“Fail”的文本串,注意请不要包含任何其他的字符,如空格等通知环节的设置12.Notify响应给支付宝的消息是什么在收到支付宝通知后,请按照自己需要的业务逻辑处理,并返回一个不包含任何HTML标签的页面,里面仅包含“success”或者“fail”的文本串,注意请不要包含任何其他的字符,如空格等。对应的“success”或者“fail”的含义请看下表: 返回结果结果说明 success处理成功,结束发送fail处理失败,重新发送特别注意在接收到支付宝服务器的通知以后,请使用HTTP通知验证接口 校验该通知的合法性,以确保你的系统的后续操作的正确性。13.通知环节有哪些,为什么我支付以后不给我通知/cooperate/apply_digi_goods_security_trade_service.htm请先确保账户内选择了通知环节。现在有一下通知环节选取:请选择您需要得到通知的交易状态:交易创建买家付款成功卖家发货成功 交易成功交易关闭退款成功退款关闭修改交易价格否则会出现支付以后,无法返回收到通知消息的14.我以前积压的信息,申请故障恢复是否可以重发吗?使用notify url来接收服务器通知,如果返回异常或者fail。致使notify的通知停止了,可以在支付宝的账户内,商家工具,左下角“申请故障恢复”。申请成功后,会立刻返回消息。15.通知接口的工作原理:支付宝的两个通知接口都使用同样的工作原理,两个工作步骤:1对支付宝的通知过来的消息做验证,得到true或者false的结果。//String alipayNotifyURL =/cooperate/gateway.do?service=notify_verifyString alipayNotifyURL=/trade/notify_query.do?+"&partner="+ partner+"notify_id="+request.getParameter("notify_id");String sign=request.getParameter("sign");如上java程序,使用https或者http的查询地址。传递partner和notify id去验证消息的结果。(详细请见文档中的。“http通知验证接口”)2通过验证接口,得到正确的true结果,然后对传递过来的参数进行签名比对。(签名机制同支付程序)。比对签名通过,并得到正确的验证结果true。接着判断交易状态(红字其他交易状态在支付宝账户内可以选择,见“通知环节有哪些,为什么我支付以后不给我通知”),再在页面上打印出成功消息。或者失败消息(详情见“Notify响应给支付宝的消息是什么”)例如:If mysign=request.Form("sign") And ResponseTxt="true" ThenIf request.Form("trade_status")="TRADE_FINISHED" Then(客户的发货程序,更新订单)response.write "success"End IfElseresponse.write "fail"End If3注意,在返回success之前作客户网站的业务参数,比如发货,更新订单。四、遇到任何问题请与支付宝客服或网站联系:支付宝论坛:/index.htm转自:
本文标题:
本页链接: 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
批量付款到支付宝账户有密接口(batch_trans_notify)
下载积分:1000
内容提示:批量付款到支付宝账户有密接口(batch_trans_notify)
文档格式:PDF|
浏览次数:59|
上传日期: 23:15:47|
文档星级:
该用户还上传了这些文档
批量付款到支付宝账户有密接口(batch_trans_notify)
官方公共微信Android支付SDK
Android支付SDK接口是Bmob为广大开发人员提供的统一、正规的收费手段,让没有企业认证的个人开发者,也能通过支付宝和微信向用户收费。该文档可以让您快速为自己的应用接入Bmob的支付功能
正式上线时请在开启安全认证(数据浏览-&应用信息-&安全认证)
在进行身份认证,以保证资金安全
如有任何疑问或者建议,欢迎加入Bmob支付的技术支持QQ群:
支付接口快速入门
将名为libs的文件夹放在您项目根目录下(里面有 BmobPay_版本号.jar 和3个支付宝的jar一共四个jar文件)
在您项目的AndroidManifest.xml中添加以下权限:
&!-- alipay sdk permission begin --&
&uses-permission android:name=&android.permission.INTERNET& /&
&uses-permission android:name=&android.permission.MODIFY_AUDIO_SETTINGS& /&
&uses-permission android:name=&android.permission.WRITE_EXTERNAL_STORAGE& /&
&uses-permission android:name=&android.permission.ACCESS_NETWORK_STATE& /&
&uses-permission android:name=&android.permission.ACCESS_WIFI_STATE& /&
&uses-permission android:name=&android.permission.READ_PHONE_STATE& /&
&!-- alipay sdk permission end --&
在AndroidManifest.xml的Application标签下添加以下内容:
&!-- bmob pay sdk activity begin ,please put below code into application tag --&
android:name=&com.alipay.sdk.app.H5PayActivity&
android:configChanges=&orientation|keyboardHidden|navigation&
android:exported=&false&
android:screenOrientation=&behind&
android:windowSoftInputMode=&adjustResize|stateHidden& &
&/activity&
android:name=&com.bmob.pay.tool.PayActivity&
android:screenOrientation=&portrait&
android:theme=&@android:style/Theme.Translucent& /&
&!-- bmob pay sdk activity end --&
在您的应用程序主Activity的onCreate中调用如下方法:
(Application ID在后台应用管理的 数据浏览-&应用信息-&应用密钥-&Application ID)
BmobPay.init(context,&你的Application ID&);
注意:如果您的应用使用了Bmob数据服务SDK,则只要初始化其中一个即可
在需要调用支付宝支付的地方,调用如下方法:
new BmobPay(MainActivity.this).pay(0.02,&某商品&,new PayListener(){...});
在需要调用微信支付的地方,调用如下方法:
new BmobPay(MainActivity.this).payByWX(0.02,&某商品&,new PayListener(){...});
在需要调用订单查询的地方,调用如下方法(微信订单和支付宝订单通用):
new BmobPay(MainActivity.this).query(&订单id&,new OrderQueryListener(){...});
com.bmob.pay.tool.BmobPay
pay(double price, String name, PayListener listener)
pay(double price, String name, String body, PayListener listener)
商品的价格,建议测试用0.02
商品的名称,请注意不要有违禁字眼,可以为空只允许中文、数字、英文和下划线、英文破折号,否则过滤
商品的详情描述,请注意不要有违禁字眼,可以为空只允许中文、数字、英文和下划线、英文破折号,否则过滤
PayListener
支付结果监听类com.bmob.pay.tool.PayListener有成功、失败、未知结果、返回订单号等方法
payByWX(double price, String name, PayListener listener)
payByWX(double price, String name, String body, PayListener listener)
调用微信支付,要安装插件(如果没有安装,会监听器的fail方法会返回-3错误码),插件在sdk文档的plugin文件夹下,demo有通过assets安装的示例
query(String orderId, OrderQueryListener listener)
支付订单号,不可为空
OrderQueryListener
查询结果监听类com.bmob.pay.tool.OrderQueryListener有成功、失败等方法
ForceFree()
当上一次支付操作尚未完成时,如果BmobPay对象发起再次请求,PayListener会回调fail方法返回并10077错误码,以免生成多个订单
如果使用过程中出现了阻塞(比如异常强制关闭支付插件页面,会导致一直不能再发起请求,这是小概率事件),则调用此方法进行BmobPay的重置
仅对下一次请求生效,而不是永久消除限制
com.bmob.pay.tool.PayListener
orderId(String orderId)
无论支付成功与否,只要成功产生了请求,就返回订单号,请自行保存以便以后查询
支付成功,保险起见请调用查询方法确认结果
fail(int code, String reason)
支付失败,有可能是用户中断支付,也有可能是网络问题返回10077时说明上次操作尚未完成,拒绝多次请求以免生成多个订单(可用Bmob.ForceFree()方法强制取消一次限制)支付宝支付时6001为用户主动中断支付操作微信支付返回-2时为用户主动中断操作,返回-3为未安装Bmob支付插件.apk(如果多次出现异常请向Bmob工作人员反馈)
因为网络等问题,不能确认是否支付成功,请稍后手动查询(小概率事件)
com.bmob.pay.tool.OrderQueryListener
succeed(String status)
查询成功(并不是说支付成功),返回的status有NOTPAY和SUCCESS两种可能
fail(int code, String reason)
查询失败,有可能是网络问题,也有可能是订单号错误
错误码列表
微信返回的错误码,可能是未安装微信,也可能是微信没获得网络权限等
微信支付用户中断操作
未安装微信支付插件
设置了安全验证,但是签名或IP不对
支付宝支付用户中断操作
支付宝支付出错,可能是参数有问题
解析服务器返回的数据出错,可能是提交参数有问题
服务器端返回参数出错,可能是提交的参数有问题(如查询的订单号不存在)
解析服务器数据出错,可能是提交参数有问题
查询订单号时未输入订单号
微信客户端未安装
微信客户端版本不支持微信支付
网络异常,可能是没有给应用网络权限
商品名或详情不符合微信/支付宝的规定(如微信商品名不可以超过42个中文)
上次发起的请求还未处理完成,禁止下次请求,可用BmobPay.ForceFree()解除
平时比较需要主动处理到的是-3、、10777
关于如何使用支付功能,请查看
或 。RestAPI目前只提供了查询订单的功能。
curl -X GET \
-H &X-Bmob-Application-Id: Your Application ID& \
-H &X-Bmob-REST-API-Key: Your REST API Key& \
/1/pay/Bmob系统生成的订单号
成功返回以下JSON, 失败时返回请看
&name&: &商品&,
&body&: &商品详情&,
&create_time&: & 11:14:58&,
&out_trade_no&: &9fa71c6fcfdee38d2b29e4&,
&transaction_id&: &0379&
&pay_type&: &WECHATPAY&,
&total_fee&: 0.01,
&trade_state&: &NOTPAY&
返回的信息简单描述如下:
: 订单或商品名称
body-商品详情
create_time
: 调起支付的时间
out_trade_no
: Bmob系统的订单号
transaction_id : 微信或支付宝的系统订单号
: WECHATPAY(微信支付)或ALIPAY(支付宝支付)
: 订单总金额
trade_state
: NOTPAY(未支付)或 SUCCESS(支付成功)
请不要混淆所有sdk的jar文件
在订单管理处,金额从小数点后第三位开始不显示,比如支付了0.01元实收0.00,其实是0.0095
如果用户的手机有“应用锁”功能(即点击应用后跳出系统设定的解锁界面,如小米、360、腾讯管家都可能有该功能),则可能会导致支付中断(支付宝返回6001,微信返回-2),这是微信和支付宝sdk出于安全考虑设置的,请建议用户出现该问题时先关掉支付宝钱包或微信的应用锁
由于微信Sdk的限制,无法判断微信是否已登陆用户,如果未登陆用户,监听器的fail方法可能不被调用,请开发者们提醒自己的用户确保微信已登陆
如果支付宝已经选定了支付用的账户(或银行卡),但是支付失败,用户的支付宝账号会保留该订单,有可能从支付宝官网、支付宝钱包APP再次发起支付,在开发过程中请注意这种事情的处理情况
如果请求支付的页面为横屏,微信支付页面可能出现抽风现象(卡顿甚至重启),是因为微信出现莫名Bug不停开启新支付页面导致内存爆满,解决方法:在AndroidManifest.xml中将com.bmob.pay.tool.PayActivity设为强制竖屏(上方有示例),并尽可能将自己调用的Activity也设置为竖屏
请再次注意:查询监听器的succeed(String status)被调用时并不意味着该订单已经成功支付,而是应该判断status是否为SUCCESS
注意:支付时返回的信息都未必可靠,一切以查询订单返回的信息为准信用卡支付接口_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
信用卡支付接口
信​用​卡​支​付​接​口
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩61页未读,继续阅读
你可能喜欢ASP.NET &&&&最新内容
ASP.NET &&&&随机内容

我要回帖

更多关于 如何调用支付宝接口 的文章

 

随机推荐