求助大神,winform生成支付宝二维码生成支付

求助 winform生成支付宝二维码支付信息【net吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:38,443贴子:
如题,大神在哪里,能不能直接通过生成二维码的方式,将支付宝支付的信息生成二维码展示在winform窗体上
知名的达内net,19大课程免费在线分享:Java/安卓/iOS/PHP/NET/嵌入式/Linux/C++/UI设计/UID/U3d/大数据/测试/营销/网络工程/会计,专业讲师24小时在线答疑!
网上有个插件 用第三方dll
寇1Fa49.我不知道死亡的时候,凝望苍穹竟然回那么凄凉,一声一声霰雪鸟的悲鸣,斜斜地掠天而去,我看到 你的面容浮现在苍蓝色的天空之上,于是我笑了,因为我看到你,快乐得像个长不大的孩子。
登录百度帐号推荐应用主题信息(必填)
主题描述(最多限制在50个字符)
申请人信息(必填)
申请信息已提交审核,请注意查收邮件,我们会尽快给您反馈。
如有疑问,请联系
CSDN &《程序员》研发主编,投稿&纠错等事宜请致邮
你只管努力,剩下的交给时光!
如今的编程是一场程序员和上帝的竞赛,程序员要开发出更大更好、傻瓜都会用到软件。而上帝在努力创造出更大更傻的傻瓜。目前为止,上帝是赢的。个人网站:。个人QQ群:、
个人大数据技术博客:
【教您如何实现网站使用支付宝即时到账扫码支付效果】【q~*~19~*~970~*~746~*~ 】
  一直让大家翘首以盼的微信最核心的杀手锏——“微信支付”终于开放申请。今天微信团队在官网发布消息,微信公众平台支付功能已正式开放申请,已开通公众号的开发者可以登录公众平台申请 App 支付功能。未开通公众号的 APP 开发者,我们将在近期开放,届时可在微信开放平台申请。
  此次微信支付开放申请主要向微信公众账号中的服务账号,所有之前经过认证的服务账号,均有资格申请微信支付接口。据了解,申请微信支付,需要填写商户基本资料、业务基本资料、财务审核资料。通过审核了的商户才能进入开发流程,通过开发接口文档的指引,完成开发。此后签订合同并缴纳保证金后,申请全网发布,即可开通微信支付能力。
  在此之前,微信一直没有明确“支付接口”的申请规则,只有极小部分商家获取到了内测的资格。全面开放支付接口的申请,也意味着经过数月的测试,微信的支付能力,以及和线下移动支付场景的匹配,已经基本达到预期,是时候放开手脚,大举进军移动支付领域了。
  在不久之前,微信公众平台刚刚调整过一次公众账号认证体系,订阅号可获得“自定义菜单”接口,而服务号则可获取所有高级接口。全面开放支付接口的申请,之前所有关于微信服务账号的想象,都将得以落地。
  另外据微信官方介绍,除了微信支付接口外,微信还为商家服务号提供了一套完整的移动购物解决方案。以微信支付为核心功能,微信官方提供了用户身份识别、微信地址共享、支付结算、客户关系维护、售后维权、交易统计的整套移动购物解决方案。
  商户通过图文消息、自定义菜单、关键字回复等方式向订阅用户推送商品消息,用户可在微信公众号中完成选购、填写收货地址、支付的流程。商户也可以把商品网页生成二维码,发布在线下和线上的媒体,如车站、楼宇广告以及 web 广告。 用户用微信扫一扫后可打开商品详情,在微信中直接购买。
  另外据我们了解,除了全面开放支付接口,微信还将推出线下 POS 机——微POS。微 POS 主要面向本地生活服务商家提供支付解决方案,商家通过服务员端输入金额后,自动生成二维码,消费者使用微信扫码进入支付页面,输入密码后完成支付。
  也就是说,不仅仅是推广电子支付,微信还想要借助“微信支付”颠覆传统的线下支付,将整个生活服务领域的支付场景和微信支付进行融合。开放微信支付接口,也意味着微信已经准备就绪,将大大加速这一过程。支付宝支付开发——当面付条码支付和扫码支付 - CSDN博客
支付宝支付开发——当面付条码支付和扫码支付
/txw1958/p/alipay-f2fpay.html
关键字:支付宝 当面付 条码支付 扫码支付 二维码支付 订单查询 退款
作者:方倍工作室
本文介绍支付宝中当面付下属的条码支付、扫码支付、订单查询、退款申请的集成开发过程。
本文分为以下五个部分:
条码支付和扫码支付介绍申请应用密钥生成及配置API及SDK集成条码支付、扫码支付、订单查询、退款申请
注: 支付宝支付开发有一定的门槛,如果您愿意为知识付费来节省您宝贵的时间,请直接见底部说明。
一、条码支付及二维码支付介绍
1. 条码支付
条码支付是支付宝给到线下传统行业的一种收款方式。商家使用扫码枪等条码识别设备扫描用户支付宝钱包上的条码/二维码,完成收款。用户仅需出示付款码,所有收款操作由商家端完成。其使用场景如下:
业务流程:
使用步骤:
用户登陆支付宝钱包,点击首页“付款”,进入付款码界面;收银员在商家收银系统操作生成订单,用户确认支付金额;用户出示钱包的“付款码”,收银员用扫码设备来扫描用户手机上的条码/二维码后,商家收银系统提交支付;付款成功后商家收银系统会拿到支付成功或者失败的结果。
2. 扫码支付
扫码支付,指用户打开支付宝钱包中的“扫一扫”功能,扫描商家展示在某收银场景下的二维码并进行支付的模式。该模式适用于线下实体店支付、面对面支付等场景。
其使用场景如下:
业务流程:
使用步骤:
用户登陆支付宝钱包,点击首页“付款-扫码付”,进入扫一扫界面;收银员在商家收银系统操作生成支付宝订单,用户确认支付金额,并生成二维码;用户使用钱包的“扫码付”,扫收银员提供的二维码,确认支付;用户付款后商家收银系统会拿到支付成功或者失败的结果。
二、接口申请
企业在申请企业支付宝之后,进行功能申请并签约,然后在蚂蚁金服开放平台中申请应用如下(详细过程就略了)
然后在功能列表中,申请当面付这一功能,申请成功后如下。
这样,我们就有了当面付的权限了。
三、密钥生成
在支付宝当面付的接口中,使用了非对称加密算法,商户自己的公钥和私钥需要自己使用OpenSSL手动生成。对这些概念比较陌生的话,请先自行先了解一下密码学的相关知识。OpenSSL也可以从方倍工作室博客中找到。
下载支付宝官方提供的密钥生成工具OpenSSL,然后执行以下命令就可以生成公钥和私钥。
genrsa -out rsa_private_key.pem 1024
是用于生成RSA私钥,执行后在程序目录中生成一个文件rsa_private_key.pem,其内容如下
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCyffRONGd8Q/1kRh1cpsSRi360DXLHI7zxdPJGYe5HKDWF7u9b
3zZU9erZpM90XE7gZRKsxIgOurH4uqhmVRbto3e+LiYOyNpd6As3Q427KCTIT7aj
hHicZ6GWhegTUiVLqiuWLsauQcbI6DO4GEZrlvAdzus0WcJiJOxW02rxSQIDAQAB
AoGAXBJYyVaC4zj3Jph8YOStlR5N13bwdATdW/glWWT+0rnNEi90TQHRNvY7lNVN
JgrPrTS182TVgjOPxmwSnebakhIuGIdPq99GLE4LGd5lKWTzkd84BMvhatfNsCCz
cEVFqKg3tZd4t3fQ93FrILsnnZpLhiW53jIrStCkR3rx9OECQQDWMSHyc91hEVMQ
qVNasbGEicKWxhoDqjdm2lHkBx4mrB9JEZFDs6MxWdajf2/Qw+tgtpN3YBcCDw/H
nGHhQtStAkEA1VTyjOdAwWode8X4fu0IPq9+E19mcVOAJjLBH46mropwgOdj3raq
T/ThaKeaydjabsTAiY2J18HiTiyH+1bGjQJBAKgRJXH5OFxSG7uXIbCofYJiFi34
g7EcfxxVcqxaaW4u4N2Uy0c0TXkL5T+lXzeQg8D/gfbJj0QuTVNzgdofdoECQBHY
OznCFk6Xe8PguXqUhT4JG/iu4DjWjT+kuzbSjerHtcVylY4JpZFuoHRKoM4Fj6/4
UUqwRjmABFgZrX4+sfkCQCNI8RCZ6yprh5kEOePo3uazAlNENP8dKkhgqChawdK7
7NzlJ727Nt23STHFx6NkhzyruJGQ5Vx1Lkl0wKuKbXM=
-----END RSA PRIVATE KEY-----
rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
是用于生成RSA公钥,执行后在程序目录中生成一个文件rsa_public_key.pem,其内容如下
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCyffRONGd8Q/1kRh1cpsSRi360
DXLHI7zxdPJGYe5HKDWF7u9b3zZU9erZpM90XE7gZRKsxIgOurH4uqhmVRbto3e+
LiYOyNpd6As3Q427KCTIT7ajhHicZ6GWhegTUiVLqiuWLsauQcbI6DO4GEZrlvAd
zus0WcJiJOxW02rxSQIDAQAB
-----END PUBLIC KEY-----
生成的这个RSA公钥,需要填写到应用中去,填写地址如下所示。私钥不需要填到配置中,到时候配置到代码中。
&特别注意,密钥要去掉注释部分,且转换成一行字符,否则回车换行也成为密钥的一部分,将导致无法正常加解密。
&同时,可以点击 “查看支付宝公钥”,将支付宝的公钥复制保存下来,后面的程序中将需要用到。
四、密钥生成API与密钥配置
请求地址:
HTTPS请求地址
/gateway.do
公共请求参数:
支付宝分配给开发者的应用ID
仅支持JSON
请求使用的编码格式,如utf-8,gbk,gb2312等
商户生成签名字符串所使用的签名算法类型,目前支持RSA
商户请求参数的签名串,详见
发送请求的时间,格式&yyyy-MM-dd HH:mm:ss&
调用的接口版本,固定为:1.0
notify_url
支付宝服务器主动通知商户服务器里指定的页面http/https路径。
app_auth_token
biz_content
请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档
out_trade_no
商户订单号,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复
支付场景 条码支付,取值:bar_code 声波支付,取值:wave_code
支付授权码
如果该值为空,则默认为商户签约账号对应的支付宝用户ID
total_amount
订单总金额,单位为元,
discountable_amount
参与优惠计算的金额,单位为元
undiscountable_amount
不参与优惠计算的金额,单位为元
goods_detail
GoodsDetail []
订单包含的商品列表信息,Json格式,其它说明详见商品明细说明
operator_id
商户操作员编号
商户门店编号
terminal_id
商户机具终端编号
alipay_store_id
支付宝的店铺编号
extend_params
ExtendParams
业务扩展参数
timeout_express
该笔订单允许的最晚付款时间,逾期将关闭交易。
royalty_info
RoyaltyInfo
描述分账信息,Json格式,其它说明详见分账说明
sub_merchant
SubMerchant
二级商户信息,当前只对特殊银行机构特定场景下使用此字段
公共响应参数
网关返回码,
网关返回码描述,
业务返回码,
业务返回码描述,
支付宝交易号
out_trade_no
商户订单号
buyer_logon_id
买家支付宝账号
total_amount
receipt_amount
buyer_pay_amount
买家付款的金额
point_amount
使用积分宝付款的金额
invoice_amount
交易中可给用户开具发票的金额
gmt_payment
交易支付时间
fund_bill_list
TradeFundBill []
交易支付使用的资金渠道
card_balance
支付宝卡余额
store_name
发生支付交易的商户门店名称
buyer_user_id
买家在支付宝的用户id
discount_goods_detail
本次交易支付所使用的单品券优惠的商品优惠信息
系统中配置如下
$config = array (
//支付宝公钥
'alipay_public_key' =& &MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDI6d306Q8fIfCOaTXyiUeJHkrIvYISRcc73s3vF1ZT7XN8RNPwJxo8pWaJMmvyTn9N4HQ632qJBVHf8sxHi/fEsraprwCtzvzQETrNRwVxLO5jVmRGi60j8Ue1efIlzPXV9je9mkjzOmdssymZkh2QhUrCmZYI/FCEa3/cNMW0QIDAQAB&,
//商户私钥
'merchant_private_key' =& &MIICXAIBAAKBgQCyffRONGd8Q/1kRh1cpsSRi360DXLHI7zxdPJGYe5HKDWF7u9b3zZU9erZpM90XE7gZRKsxIgOurH4uqhmVRbto3e+LiYOyNpd6As3Q427KCTIT7ajhHicZ6GWhegTUiVLqiuWLsauQcbI6DO4GEZrlvAdzus0WcJiJOxW02rxSQIDAQABAoGAXBJYyVaC4zj3Jph8YOStlR5N13bwdATdW/glWWT+0rnNEi90TQHRNvY7lNVNJgrPrTS182TVgjOPxmwSnebakhIuGIdPq99GLE4LGd5lKWTzkd84BMvhatfNsCCzcEVFqKg3tZd4t3fQ93FrILsnnZpLhiW53jIrStCkR3rx9OECQQDWMSHyc91hEVMQqVNasbGEicKWxhoDqjdm2lHkBx4mrB9JEZFDs6MxWdajf2/Qw+tgtpN3YBcCDw/HnGHhQtStAkEA1VTyjOdAwWode8X4fu0IPq9+E19mcVOAJjLBH46mropwgOdj3raqT/ThaKeaydjabsTAiY2J18HiTiyH+1bGjQJBAKgRJXH5OFxSG7uXIbCofYJiFi34g7EcfxxVcqxaaW4u4N2Uy0c0TXkL5T+lXzeQg8D/gfbJj0QuTVNzgdofdoECQBHYOznCFk6Xe8PguXqUhT4JG/iu4DjWjT+kuzbSjerHtcVylY4JpZFuoHRKoM4Fj6/4UUqwRjmABFgZrX4+sfkCQCNI8RCZ6yprh5kEOePo3uazAlNENP8dKkhgqChawdK77NzlJ727Nt23STHFx6NkhzyruJGQ5Vx1Lkl0wKuKbXM=&,
//编码格式
'charset' =& &UTF-8&,
//支付宝网关
'gatewayUrl' =& &/gateway.do&,
'app_id' =& &0000&,
//异步通知地址,只有扫码支付预下单可用
'notify_url' =& &http://www.fangbei.org/alipay/notify.html&,
//最大查询重试次数
'MaxQueryRetry' =& &10&,
//查询间隔
'QueryDuration' =& &3&
其中支付宝公钥就是在前面中复制保存的,直接复制到程序中即可,而商户私钥是之前OpenSSL中生成的私钥。APPID是该服务的id号。
而这个异步通知将会接收扫码支付结果的通知。
五、条码支付、扫码支付、订单查询、退款申请
1. 条码支付
条码支付的参数配置如下
// (必填) 商户网站订单系统中唯一订单号,64个字符以内,只能包含字母、数字、下划线,
// 需保证商户系统端不能重复,建议通过数据库sequence生成,
$outTradeNo = &barpay& . date('Ymdhis') . mt_rand(100, 1000);
$subject = &方倍工作室-支付宝-当面付-条码支付&;
$totalAmount = 0.01;
// (必填) 订单总金额,单位为元,不能超过1亿元
// (必填) 付款条码,用户支付宝钱包手机app点击“付款”产生的付款条码
$authCode = $_POST['auth_code']; //28开头18位数字
// 支付超时,线下扫码交易定义为5分钟
$timeExpress = &5m&;
// 创建请求builder,设置请求参数
$barPayRequestBuilder = new AlipayTradePayContentBuilder();
$barPayRequestBuilder-&setOutTradeNo($outTradeNo);
$barPayRequestBuilder-&setTotalAmount($totalAmount);
$barPayRequestBuilder-&setAuthCode($authCode);
$barPayRequestBuilder-&setTimeExpress($timeExpress);
$barPayRequestBuilder-&setSubject($subject);
// 调用barPay方法获取当面付应答
$barPay = new AlipayTradeService($config);
$barPayResult = $barPay-&barPay($barPayRequestBuilder);
switch ($barPayResult-&getTradeStatus()) {
case &SUCCESS&:
echo &支付宝支付成功:& . &&br&--------------------------&br&&;
print_r($barPayResult-&getResponse());
case &FAILED&:
echo &支付宝支付失败!!!& . &&br&--------------------------&br&&;
if (!empty($barPayResult-&getResponse())) {
print_r($barPayResult-&getResponse());
case &UNKNOWN&:
echo &系统异常,订单状态未知!!!& . &&br&--------------------------&br&&;
if (!empty($barPayResult-&getResponse())) {
print_r($barPayResult-&getResponse());
echo &不支持的交易状态,交易返回异常!!!&;
程序监测,最终提交的url如下
https:///gateway.do?app_id=0000&version=1.0&format=json&sign_type=RSA&method=alipay.trade.pay&timestamp=+17%3A14%3A52&auth_token=&alipay_sdk=alipay-sdk-php-&terminal_type=&terminal_info=&prod_code=&notify_url=&charset=UTF-8&app_auth_token=&sign=EMVoBAhPkW6B1m%2BoXytdbUpIxnIAq73jtiPhlH2VUYy4OcJQ2UiVTXWttw0y%2B7UEXHWILY8fYRDoNrJWSjBATrAqbGCLpPc4YBQSwtPCb%2F76d65dMQEyrEnk2sgcqhxCiJNKRoQjgAQmBQdHneerU7SwSNJ%2FfF%2F025yltZk5lzQ%3D
发送的json数据如下:
&scene&:&bar_code&,
&out_trade_no&:&barpay52680&,
&total_amount&:0.01,
&auth_code&:&423535&,
&timeout_express&:&5m&,
&subject&:&方倍工作室-支付宝-当面付-条码支付&
接收到的数据如下
&alipay_trade_pay_response&:{
&code&:&10000&,
&msg&:&Success&,
&buyer_logon_id&:&118***@qq.com&,
&buyer_pay_amount&:&0.01&,
&buyer_user_id&:&8751&,
&fund_bill_list&:[
&amount&:&0.01&,
&fund_channel&:&ALIPAYACCOUNT&
&gmt_payment&:& 17:14:59&,
&invoice_amount&:&0.01&,
&open_id&:&&,
&out_trade_no&:&barpay52680&,
&point_amount&:&0.00&,
&receipt_amount&:&0.01&,
&total_amount&:&0.01&,
&trade_no&:&0034&
&sign&:&pEDeMwh6x73t9LmWrZpGnVb1npnKtODw6+8MDUTurNPVWXR1JHT+x3cRt2G4SDNHzxkJTzSpUXjNylsWisRTnQJJzqRP5XMujxmaAHP/d5xXeyWasDag5Cj7yGD7t80buDAsdE4eoqQ6ox7KzJ6LwKcphOX13tI+Ukt1dGCQS5o=&
2. 扫码支付
扫码支付的参数配置如下
// (必填) 商户网站订单系统中唯一订单号,64个字符以内,只能包含字母、数字、下划线,
// 需保证商户系统端不能重复,建议通过数据库sequence生成,
$outTradeNo = &qrpay&.date('Ymdhis').mt_rand(100,1000);
$subject = &方倍工作室-支付宝-当面付-扫码支付&;
$totalAmount = &0.01&;
// 支付超时,线下扫码交易定义为5分钟
$timeExpress = &5m&;
// 创建请求builder,设置请求参数
$qrPayRequestBuilder = new AlipayTradePrecreateContentBuilder();
$qrPayRequestBuilder-&setOutTradeNo($outTradeNo);
$qrPayRequestBuilder-&setTotalAmount($totalAmount);
$qrPayRequestBuilder-&setTimeExpress($timeExpress);
$qrPayRequestBuilder-&setSubject($subject);
// 调用qrPay方法获取当面付应答
$qrPay = new AlipayTradeService($config);
$qrPayResult = $qrPay-&qrPay($qrPayRequestBuilder);
根据状态值进行业务处理
switch ($qrPayResult-&getTradeStatus()){
case &SUCCESS&:
echo &支付宝创建订单二维码成功:&.&&br&---------------------------------------&br&&;
$response = $qrPayResult-&getResponse();
$qrcode = $qrPay-&create_erweima($response-&qr_code);
echo $qrcode;
print_r($response);
case &FAILED&:
echo &支付宝创建订单二维码失败!!!&.&&br&--------------------------&br&&;
if(!empty($qrPayResult-&getResponse())){
print_r($qrPayResult-&getResponse());
case &UNKNOWN&:
echo &系统异常,状态未知!!!&.&&br&--------------------------&br&&;
if(!empty($qrPayResult-&getResponse())){
print_r($qrPayResult-&getResponse());
echo &不支持的返回状态,创建订单二维码返回异常!!!&;
生成的提交请求URL如下
https:///gateway.do?app_id=0000&version=1.0&format=json&sign_type=RSA&method=alipay.trade.precreate&timestamp=+17%3A38%3A13&auth_token=&alipay_sdk=alipay-sdk-php-&terminal_type=&terminal_info=&prod_code=&notify_url=http%3A%2F%%2Fweixin%2Frawpost.php&charset=UTF-8&app_auth_token=&sign=ayYiJRZ63RomVEt8Ayz58Uiyv3y5IrbbX8CTfX6zNHkT%2Fu11U7ISUYWCXjrwrwCo2Oq2tdo%2FjtuhrBbDp5ULnTmuBBUktQDCCF53PF5yiUDGikxUPFYugeUrTg3gw4DqxOiNKM6ZB6MI0n%2F9M78a%2FnP8GtZ4WthyHIl%2B%2FozSyT4%3D
发送的json数据如下:
&out_trade_no&:&qrpay13582&,
&total_amount&:&0.01&,
&timeout_express&:&5m&,
&subject&:&方倍工作室-支付宝-当面付-扫码支付&
返回的数据如下:
&alipay_trade_precreate_response&:{
&code&:&10000&,
&msg&:&Success&,
&out_trade_no&:&qrpay13582&,
&qr_code&:&/bax00885xbhszseo9l7p404d&
&sign&:&VfNTGo2WMZ+2CE1L05lNYWtFn4inHXO/tUaBZIBHN4fPlXnCvyc9IhS8S7wa3FYw23G30luEPEHkZWobnfpUjILonmExZVElHv3ylINz+Q2mQ5M8Sb/d61YPvf4Bgy1OvlrT4D3H/i3judmzEDBrOyFN9kB9vSkKaYC+b6L41Zw=&
其中的/bax00885xbhszseo9l7p404d 就是二维码链接地址,使用接口将其成二维码后如下所示。
当支付宝用户扫码的时候,接口通知将收到如下数据
&notify_id&:&4c2c04c3cc50e978d44212febe7c3f0lse&,
&seller_email&:&pay***@fangbei.org&,
&notify_type&:&trade_status_sync&,
&sign&:&R0iRdYmSQ0+zuSUGLzkutHcR40hoOp+CcKojVBCMa1uji3rqQFe5XeHoJB1nMBCApE3zXPKhXMdLis109ngPbGy+NUEBR7YZjYuR/hXq3WXeYfZ8aiWLvloZHrF7dQWxDho/VHYexaLeqvRi/03m0HxrwhZKUOu1eS9wMgZOlqQ=&,
&trade_no&:&9810&,
&buyer_id&:&8751&,
&app_id&:&0000&,
&gmt_create&:& 18:20:37&,
&out_trade_no&:&qrpay09757&,
&seller_id&:&4253&,
&notify_time&:& 18:20:37&,
&subject&:&方倍工作室-支付宝-当面付-扫码支付&,
&trade_status&:&WAIT_BUYER_PAY&,
&open_id&:&&,
&total_amount&:&0.01&,
&sign_type&:&RSA&,
&buyer_logon_id&:&118***@qq.com&
当用户输入密码付款成功之后,将收到如下数据
&fund_bill_list&:&[{&amount&:&0.01&,&fundChannel&:&ALIPAYACCOUNT&}]&,
&subject&:&方倍工作室-支付宝-当面付-扫码支付&,
&trade_no&:&9810&,
&gmt_create&:& 18:20:37&,
&notify_type&:&trade_status_sync&,
&total_amount&:&0.01&,
&out_trade_no&:&qrpay09757&,
&invoice_amount&:&0.01&,
&open_id&:&&,
&seller_id&:&4253&,
&notify_time&:& 18:20:50&,
&trade_status&:&TRADE_SUCCESS&,
&gmt_payment&:& 18:20:50&,
&seller_email&:&pay***@fangbei.org&,
&receipt_amount&:&0.01&,
&buyer_id&:&8751&,
&app_id&:&0000&,
&notify_id&:&56f9384b188b409e75else&,
&buyer_logon_id&:&118***@qq.com&,
&sign_type&:&RSA&,
&buyer_pay_amount&:&0.01&,
&sign&:&nf/KJryACk0utqlNrnuYMiSnYw6HsxqpJPk2O5MhCZ+wZUVQbrD3sq5POO3GU7LSRoSiUUIO4JEYEL12Ek2+w3lTcLS9WEi60sYowPOcJEYGmVfNZbVR6+k7yO5au2WIkM3MKsxm2XxIB9xPMmRDACGhvqZ2BXUAQujkPk1FT0s=&,
&point_amount&:&0.00&
3. 订单查询
订单查询的参数配置如下
////获取商户订单号
$out_trade_no = trim($_POST['out_trade_no']);
//第三方应用授权令牌,商户授权系统商开发模式下使用
$appAuthToken = &&;//根据真实值填写
//构造查询业务请求参数对象
$queryContentBuilder = new AlipayTradeQueryContentBuilder();
$queryContentBuilder-&setOutTradeNo($out_trade_no);
$queryContentBuilder-&setAppAuthToken($appAuthToken);
//初始化类对象,调用queryTradeResult方法获取查询应答
$queryResponse = new AlipayTradeService($config);
$queryResult = $queryResponse-&queryTradeResult($queryContentBuilder);
//根据查询返回结果状态进行业务处理
switch ($queryResult-&getTradeStatus()){
case &SUCCESS&:
echo &支付宝查询交易成功:&.&&br&--------------------------&br&&;
print_r($queryResult-&getResponse());
case &FAILED&:
echo &支付宝查询交易失败或者交易已关闭!!!&.&&br&--------------------------&br&&;
if(!empty($queryResult-&getResponse())){
print_r($queryResult-&getResponse());
case &UNKNOWN&:
echo &系统异常,订单状态未知!!!&.&&br&--------------------------&br&&;
if(!empty($queryResult-&getResponse())){
print_r($queryResult-&getResponse());
echo &不支持的查询状态,交易返回异常!!!&;
最终提交的url如下
/gateway.do?app_id=0000&version=1.0&format=json&sign_type=RSA&method=alipay.trade.query&timestamp=+18%3A27%3A07&auth_token=&alipay_sdk=alipay-sdk-php-&terminal_type=&terminal_info=&prod_code=&notify_url=&charset=UTF-8&app_auth_token=&sign=eIuYJtes95quAN3X9eXbQzBa%2FCvm5QgQ0ToUsS8MSkCjhZACYpnU7ZT5MuD31lPZPFHVEjCKsdWiq4tuNtJPFPxirg7pkTiT09C%2Bz8PsUA844Y7hjkkX%2B4CVZcGtO11m3Ap0JECrtZW8hhJTE9bPY1v43X2BSL5Cp3Ulpac1FsM%3D
发送的json数据如下:
&out_trade_no&:&qrpay13582&
接收到的数据如下
&alipay_trade_query_response&:{
&code&:&10000&,
&msg&:&Success&,
&buyer_logon_id&:&118***@qq.com&,
&buyer_pay_amount&:&0.01&,
&buyer_user_id&:&8751&,
&fund_bill_list&:[
&amount&:&0.01&,
&fund_channel&:&ALIPAYACCOUNT&
&invoice_amount&:&0.01&,
&open_id&:&&,
&out_trade_no&:&qrpay13582&,
&point_amount&:&0.00&,
&receipt_amount&:&0.01&,
&send_pay_date&:& 17:38:58&,
&total_amount&:&0.01&,
&trade_no&:&3830&,
&trade_status&:&TRADE_SUCCESS&
&sign&:&E2MxjdAhW/EqRFNkZgy/Y//dA5Cmb54Hnqa0cjBz+ZcFTULi1lvFms93onP7cpVK/fI7YxbkZTKBPk29o4aeWKXlSYCrT92domAyqahzYCA7/5A3Msc/awALYrFOdWyJJdlncWdFRN9hx52iVRIjxvLJ0hIMVIQqEDavG28HPbo=&
4. 订单退款
订单退款的参数配置如下
$out_trade_no = trim($_POST['out_trade_no']);
$refund_amount = trim($_POST['refund_amount']);
$out_request_no = trim($_POST['out_request_no']);
//第三方应用授权令牌,商户授权系统商开发模式下使用
$appAuthToken = &&;//根据真实值填写
//创建退款请求builder,设置参数
$refundRequestBuilder = new AlipayTradeRefundContentBuilder();
$refundRequestBuilder-&setOutTradeNo($out_trade_no);
$refundRequestBuilder-&setRefundAmount($refund_amount);
$refundRequestBuilder-&setOutRequestNo($out_request_no);
$refundRequestBuilder-&setAppAuthToken($appAuthToken);
//初始化类对象,调用refund获取退款应答
$refundResponse = new AlipayTradeService($config);
$refundResult =
$refundResponse-&refund($refundRequestBuilder);
//根据交易状态进行处理
switch ($refundResult-&getTradeStatus()){
case &SUCCESS&:
echo &支付宝退款成功:&.&&br&--------------------------&br&&;
print_r($refundResult-&getResponse());
case &FAILED&:
echo &支付宝退款失败!!!&.&&br&--------------------------&br&&;
if(!empty($refundResult-&getResponse())){
print_r($refundResult-&getResponse());
case &UNKNOWN&:
echo &系统异常,订单状态未知!!!&.&&br&--------------------------&br&&;
if(!empty($refundResult-&getResponse())){
print_r($refundResult-&getResponse());
echo &不支持的交易状态,交易返回异常!!!&;
最终提交的url如下
https:///gateway.do?app_id=0000&version=1.0&format=json&sign_type=RSA&method=alipay.trade.refund&timestamp=+18%3A47%3A35&auth_token=&alipay_sdk=alipay-sdk-php-&terminal_type=&terminal_info=&prod_code=&notify_url=&charset=UTF-8&app_auth_token=&sign=Y1c5qWglAQ0t3brViEtqFnIJRQMn%2Fl9vMla1xgXKcExercJopMyS2rPOHaw%2F2PJEOKJC7r9qAfDGkNq4LHzXhBrD8sxLPqImPS6aWcW9p8s%2FzC2oQCJnLfaPx6lh8veHarj4WzDayeZLA48ttoQLjuMGPrITgOXYjHHyUKdBqSs%3D
发送的json数据如下:
&out_trade_no&:&qrpay13582&,
&refund_amount&:&0.01&,
&out_request_no&:&1&
接收到的数据如下
&alipay_trade_refund_response&:{
&code&:&10000&,
&msg&:&Success&,
&buyer_logon_id&:&123***@qq.com&,
&buyer_user_id&:&8751&,
&fund_change&:&Y&,
&gmt_refund_pay&:& 18:47:41&,
&open_id&:&&,
&out_trade_no&:&qrpay13582&,
&refund_detail_item_list&:[
&amount&:&0.01&,
&fund_channel&:&ALIPAYACCOUNT&
&refund_fee&:&0.01&,
&send_back_fee&:&0.01&,
&trade_no&:&3830&
&sign&:&YDNSMpX5y0rQEs0ZbfNxRFVIp8hf0W30OR74cMtwKVPO2BYee6TQC+pbnwESSZ2XSGLozTyy7o+SIa07L+FMhDv/PTt6QX1mVgQv7RhzoDkls0zDRS/5/fy9Oyj01XS1wb8Od/93iNLZDkd2yw9g0He6qGYlpcXutkmwuASd7BM=&
&&&&我们提供支付宝接口配置SDK
Demo一条龙服务,费用300元(含PHP源码提供、密钥生成、配置调试,直到demo跑通为止),需要加QQ
   & & & &有扫码支付定制开发服务,3000元起步,需要加QQ
QQ群有问必答
一本书解决90%问题
本文已收录于以下专栏:
相关文章推荐
支付宝部分接口解读com.alipay.demo.trade.model—ExtendParams.java
—String SysServiceProviderId 系统商编号—toStri...
做类似第三方接入这种事情,所能够参考的比较有价值的资料就是文档和demo,如果它们描述地足够清晰,那接入起来当然是件非常容易的事情。相对来说,阿里提供的文档和demo都比较清晰。在这之前我也做过其他的...
/ArthasModern/AlipayOpenapiCpp
该项目为C++项目,包含访问支付宝开放平台(Openapi)网关的源码;
/** ++++++...
本文介绍支付宝中当面付下属的条码支付、扫码支付、订单查询、退款申请的集成开发过程。
本文分为以下五个部分:
条码支付和扫码支付介绍申请应用密钥生成及配置API及SDK集成条码支付、扫码支...
.Net C# 支付宝条码支付
他的最新文章
讲师:钟钦成
讲师:宋宝华
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 支付宝商户二维码生成 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信