当面付

专题头条

  • 今日:14
  • 主题:2
  • 总帖:4097
版主: 我是个导演
简介:商家通过扫描线下买家支付宝钱包中的条码、二维码等方式将买家的交易资金直接打入卖家支付宝账户,提升商家收银效率。
扫码支付集成开发者指南
本帖仅供参考,非官方demo 文档地址:点击【查看】 sdk下载:点击【查看】 官方demo下载地址:点击【查看】 正式环境准备工作:            1、签约:https://openclub.alipay.com/read.php?tid=276&fid=72            2、创建应用:https://openclub.alipay.com/read.php?tid=1606&fid=72            3、生成密钥:https://openclub.alipay.com/read.php?tid=1833&fid=69            4、下载服务端sdk:https://docs.open.alipay.com/54/106370/ 支付宝网关: 沙箱环境支付宝网:https://openapi.alipaydev.com/gateway.do    正式环境支付宝网关:https://openapi.alipay.com/gateway.do   java版(适用于jdk1.5以上) AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, AlipayConfig.format, AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type); AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest(); request.setReturnUrl("https://docs.open.alipay.com/200"); request.setNotifyUrl("https://docs.open.alipay.com/200"); AlipayTradePrecreateModel model = new AlipayTradePrecreateModel(); //out_trade_no(订单号)必须是唯一的,测试一次必须修改新的订单号 model.setOutTradeNo("201811287635213732424"); model.setTotalAmount("0.1"); model.setSubject("扫码支付测试"); model.setTimeoutExpress("1m"); model.setBody("body"); //二维码失效时间,最小2m中,1m会直接失效 model.setQrCodeTimeoutExpress("3m"); request.setBizModel(model); AlipayTradePrecreateResponse response = alipayClient.execute(request); //第三方请求,传入的是谁的授权token,资金就收款到谁的账户,不传token则收款到app_id对应的账户 // AlipayTradePrecreateResponse response = alipayClient.execute(request,"","app_auth_token"); if(response.isSuccess()){ System.out.println("调用成功"); } else { System.out.println("调用失败"); } System.out.println("二维码码串:"+response.getQrCode()); System.out.println("接口调用返回结果:"+response.getBody());     返回结果 二维码码串:https://qr.alipay.com/bax0366066dftdpgmyn40063 接口调用返回结果:{"alipay_trade_precreate_response":{"code":"10000","msg":"Success","out_trade_no":"201811287635213732424","qr_code":"https:\/\/qr.alipay.com\/bax0366066dftdpgmyn40063"},"sign":"By6cfRS9uONd4BgLDa60oW3DXVLhHgfOldkBH7ctx1sYh1qDdCDmf+rP9mbKXZA5IoQ47R8QNQ4fATrR0QMs/zAg6qgB9nP1Oj9zg4DVNOPXMUi1bGx2texH3W5cfGXpQ8ffVqKcnVk7qzufTBgjjZJfQ8jV1i8ZeTnd4+L662pk45EHTOBcElc04JXOwlTLurYiVw/9htN9m1KQE0pjKvstBF5fr57fP7e0RJBUAGw1oezyA+GQRjTrgpXFxu0wqzZxJ0ylN4xdH/ZBTd6IW7ClE5+VuNrlM/57T+UDqkDXzndsM4bRnwALN/16E4wp9MT/AJkRT0CqSYpkRWy46g=="}   php版(适用于php 5.5以上环境) <?php /** * * 扫码支付文档地址:https://docs.open.alipay.com/api_1/alipay.trade.precreate */ require_once 'AopSdk.php'; $aop = new AopClient (); $aop->gatewayUrl = 'https://openapi.alipaydev.com/gateway.do'; $aop->appId = '2016101800718925'; $aop->rsaPrivateKey = 'MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDfDBUJhaw46ck8MHccIBXPt2USOvCRZ0dQNZZwC0EmZvcnL2+NUyoJMbgcV3U5o6wApajkpibf9UkrtYgI3/GZhOgzfzH0IJYAXmYCEniM+Cl5ipIWhY0W/s+uNRGNdXvNlketNNcVqAvkKZdcHz23N60BXsvjdR+BJ/np2CUmr9OCv0aqqwOO190rOuZvVaFCJD5LDmvDFdXPzrJHcOAyYjb2hhJIWt5n4o/b3LMYeuxfwWuQ4VlGx+s0wZJ1udUyAX8X8byqYcnevG8A1sQd/dRVNr8f1BxS8kjDIDljCzKPoYyoaoeJMhJIxrV8gL57oEIX7PbrlvFLplaC7g/XAgMBAAECggEAI4m/SFceC6tkPszSDY8nKoNj/TWa4u/7stH2+D8y0DWTp5CtS202w2RCm3Fr4hUr8KZ0dInso75nPCmeVRupWPaOMLZRdT5D6CciRa4/uuZHZXAouqHoywMqf+1AsLNJWIZbQUOsCW1PB7mAvlLT+H9Md21tOv6MWH3QGewwbytEcri0YkzroQDso3P08xdZDpXtrmg34tLnrNhw+gl8LOtpkbd0SOrGAsoTAE1vTbSLtTR2PAW7RQZkyKW1ansouzwduamFMhTc+DTc40ODJ5b5xlwTDrXn681E7UTX7JytYTPmjrKFHceX9hQ3vxSkm0fEQ7sXoF0pOBL+7AkOIQKBgQD00qCxCSVE8x2Xb/shayGBLCumqIzHtH5Eb42Wz8AOCH2/Ns9HahzXCJfKWhEzWPltYdD34xlu4T+6r7kN9hNNV7PdHRWMMNyFlUrJ8zSzScu13KdQCx9r+JszD8VRRthNHtWDevj83p3qbwr6rNFw6L7nyjxjRE4RaA56gKdQrwKBgQDpOvOz6JaD941qi7jFxnbOZh2OdRrDUHkCG8Cx42eDA83aCCjLJznjJdLXsF2HON2YDcXOn2pHyROks6a+pZZ3nP3VOX5R06QuPrW5cqF3kxO7+v25DVPI4F3VWz+2mbU5uxlqWIRTZikfnvzZeVQcGgFh3ektI6lVDAo6eD/tWQKBgAEy+uiDE/SngDCass8yGCLq1XfmgXIE901cgoQHlng7IGqMWS2PXn7LIvsxv73RpL8daImeSiSZ49cFP1HLL8MEN/RQTSe3oYzh81DT6SErrlzArO0ecNP1jsUMQbopL6wJB6CyPH/4kytvycz6hbgY276E5hDSZ9N7//4nnSovAoGAP9KgCeVl+urtSfC+OXDb5hNPl0I4dqY41vjdPFCsbM/Hrxh4gU9UqfIZxmg+z9gh25A5Rxecr9Q4ieOXh6gsisLtO0ImbSHrVbRXak4SHXSj+9btQ4yAFwI+6zmzL7bUPt4SUGW0oFXefwa0zpZDDAWZxzxAqNePaPSIgAOUCtECgYEA8zySp0UdBQQOEJuTUJlHgf+FK0jUMREVBi9CQgbK8iF/hDmA34B4z0JCkWEsGojiS3S72ZJBXxrZ8RowJGqLuNZHUAD+eEzjoBhZOIfn2R0Bo2UAZAe6pwERzqOEEVLyBExEV3+qkDwIewx4lghFCQpwhO6SNWj4ppSgXh7XAss='; $aop->alipayrsaPublicKey='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnVuBUzhfo7kWUN/TS/kHmb4afsAlUVaTR3U5e74V0os1bzlfvh+cpwnwzaEIb36CR1OzeIIzXgARIW/zGAL1/PLG8dFEXQOIGkA0a8YXGVNX9KeWnFCnCQ5gQxrfJ3ryasXzWBxv5bex1VrVsQ2TZ1VdUD+S7dR4SWFHvyck8/xGt3Hz5peUqo/OIlfQpoTBXdqfnJNrTVAMqcQhrIWwgpSVgmUq+UhlZsDaiUvxWWFm9v9nY172jFfzup/DIET//OpIghL6AB2F+ywkCcHdZHiGklnpNoQKQ6XMVKaO/k2nlHU64Y4WGSgJnSG6B798ohZoi3pndrVPAH5+5BKEFQIDAQAB'; $aop->apiVersion = '1.0'; $aop->postCharset='utf-8'; $aop->format='json'; $aop->signType = 'RSA2'; //生成随机订单号 $date=date("YmdHis"); $arr=range(1000,9999); shuffle($arr); $request = new AlipayTradePrecreateRequest(); $request->setBizContent("{" . "\"out_trade_no\":\"".$date.$arr[0]."\"," . "\"total_amount\":\"0.01\"," . "\"subject\":\"tets\"," . "\"timeout_express\":\"2m\"" . "}"); $result = $aop->execute($request); //第三方请求,传入的是谁的授权token,资金就收款到谁的账户,不传token则收款到app_id对应的账户 //$result = $aop->execute($request,"","app_auth_token"); var_dump($result); ?>   返回结果: public 'code' => string '10000' (length=5) public 'msg' => string 'Success' (length=7) public 'out_trade_no' => string '201811280635179895' (length=18) public 'qr_code' => string 'https://qr.alipay.com/bax06738zqab6gooosbs00ed' (length=46) public 'sign' => string 'ZH7BJQEM8Y+Rjfqm/FOztvwJ9EWa533AZkC+Xs0WlcYRvCmYyxHPYYPa1BuMPTC7uvQjCL1nm7BMwrofB8wZ604cWXwSgL/JIG7Qwx/69S5rfDuiFMepS6Y/G6RP6uijDQCblQW0h0EXWRQn9gQxDpjjpUheKx+WQH5cmpbatreCfOyeeEs4DI8K+1BpBfacV01e/ZorTuYaJYgIn2SueoPHIub5qN5TEvvpbDxF365ZwIJE7rgOivTHPXHm6JHkXdYV3oRehyJrcDzCg6GtGeKTWwm07bYhoLUNp2FH+36E0KpCClYtmo2fMe2eSAGtLRzw6Vz44hdD5P+8wBZjHg==' .net版 公共参数配置爱 public class Config { //应用appId沙箱 public static string appId = "2016101800718925"; //支付宝网关 public static string serverUrl = "https://openapi.alipaydev.com/gateway.do"; //沙箱支付宝公钥 public static string alipay_public_key = @"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnVuBUzhfo7kWUN/TS/kHmb4afsAlUVaTR3U5e74V0os1bzlfvh+cpwnwzaEIb36CR1OzeIIzXgARIW/zGAL1/PLG8dFEXQOIGkA0a8YXGVNX9KeWnFCnCQ5gQxrfJ3ryasXzWBxv5bex1VrVsQ2TZ1VdUD+S7dR4SWFHvyck8/xGt3Hz5peUqo/OIlfQpoTBXdqfnJNrTVAMqcQhrIWwgpSVgmUq+UhlZsDaiUvxWWFm9v9nY172jFfzup/DIET//OpIghL6AB2F+ywkCcHdZHiGklnpNoQKQ6XMVKaO/k2nlHU64Y4WGSgJnSG6B798ohZoi3pndrVPAH5+5BKEFQIDAQAB"; //开发者原始私钥,千万不要用pkcs8格式的 沙箱 public static string merchant_private_key = @"MIIEowIBAAKCAQEA3wwVCYWsOOnJPDB3HCAVz7dlEjrwkWdHUDWWcAtBJmb3Jy9vjVMqCTG4HFd1OaOsAKWo5KYm3/VJK7WICN/xmYToM38x9CCWAF5mAhJ4jPgpeYqSFoWNFv7PrjURjXV7zZZHrTTXFagL5CmXXB89tzetAV7L43UfgSf56dglJq/Tgr9GqqsDjtfdKzrmb1WhQiQ+Sw5rwxXVz86yR3DgMmI29oYSSFreZ+KP29yzGHrsX8FrkOFZRsfrNMGSdbnVMgF/F/G8qmHJ3rxvANbEHf3UVTa/H9QcUvJIwyA5Ywsyj6GMqGqHiTISSMa1fIC+e6BCF+z265bxS6ZWgu4P1wIDAQABAoIBACOJv0hXHgurZD7M0g2PJyqDY/01muLv+7LR9vg/MtA1k6eQrUttNsNkQptxa+IVK/CmdHSJ7KO+ZzwpnlUbqVj2jjC2UXU+Q+gnIkWuP7rmR2VwKLqh6MsDKn/tQLCzSViGW0FDrAltTwe5gL5S0/h/THdtbTr+jFh90BnsMG8rRHK4tGJM66EA7KNz9PMXWQ6V7a5oN+LS56zYcPoJfCzraZG3dEjqxgLKEwBNb020i7U0djwFu0UGZMiltWp7KLs8HbmphTIU3Pg03ONDgyeW+cZcEw615+vNRO1E1+ycrWEz5o6yhR3Hl/YUN78UpJtHxEO7F6BdKTgS/uwJDiECgYEA9NKgsQklRPMdl2/7IWshgSwrpqiMx7R+RG+Nls/ADgh9vzbPR2oc1wiXyloRM1j5bWHQ9+MZbuE/uq+5DfYTTVez3R0VjDDchZVKyfM0s0nLtdynUAsfa/ibMw/FUUbYTR7Vg3r4/N6d6m8K+qzRcOi+58o8Y0ROEWgOeoCnUK8CgYEA6Trzs+iWg/eNaou4xcZ2zmYdjnUaw1B5AhvAseNngwPN2ggoyyc54yXS17BdhzjdmA3Fzp9qR8kTpLOmvqWWd5z91Tl+UdOkLj61uXKhd5MTu/r9uQ1TyOBd1Vs/tpm1ObsZaliEU2YpH5782XlUHBoBYd3pLSOpVQwKOng/7VkCgYABMvrogxP0p4AwmrLPMhgi6tV35oFyBPdNXIKEB5Z4OyBqjFktj15+yyL7Mb+90aS/HWiJnkokmePXBT9Ryy/DBDf0UE0nt6GM4fNQ0+khK65cwKztHnDT9Y7FDEG6KS+sCQegsjx/+JMrb8nM+oW4GNu+hOYQ0mfTe//+J50qLwKBgD/SoAnlZfrq7Unwvjlw2+YTT5dCOHamONb43TxQrGzPx68YeIFPVKnyGcZoPs/YIduQOUcXnK/UOInjl4eoLIrC7TtCJm0h61W0V2pOEh10o/vW7UOMgBcCPus5sy+21D7eElBltKBV3n8GtM6WQwwFmcc8QKjXj2j0iIADlArRAoGBAPM8kqdFHQUEDhCbk1CZR4H/hStI1DERFQYvQkIGyvIhf4Q5gN+AeM9CQpFhLBqI4kt0u9mSQV8a2fEaMCRqi7jWR1AA/nhM46AYWTiH59kdAaNlAGQHuqcBEc6jhBFS8gRMRFd/qpA8CHsMeJYIRQkKcITukjVo+KaUoF4e1wLL"; public static string format = "json"; //编码,无需修改 public static string charset = "utf-8"; //签名类型,支持RSA2(推荐!)、RSA public static string sign_type = "RSA2"; //版本号,无需修改 public static string version = "1.0"; /// <summary> /// 私钥文件类型转换成纯文本类型 /// </summary> /// <returns>过滤后的字符串类型私钥</returns> public static string getMerchantPriveteKeyStr() { StreamReader sr = new StreamReader(merchant_private_key); string pubkey = sr.ReadToEnd(); sr.Close(); if (pubkey != null) { pubkey = pubkey.Replace("-----BEGIN PUBLIC KEY-----", ""); pubkey = pubkey.Replace("-----END PUBLIC KEY-----", ""); pubkey = pubkey.Replace("\r", ""); pubkey = pubkey.Replace("\n", ""); } return pubkey; } }   请求示例 IAopClient client = new DefaultAopClient("https://openapi.alipaydev.com/gateway.do", Com.Alipay.Config.appId, Com.Alipay.Config.merchant_private_key, "json", "1.0", "RSA2", Com.Alipay.Config.alipay_public_key, "GBK", false); AlipayTradePrecreateRequest alipayRequest = new AlipayTradePrecreateRequest();//创建API对应的request AlipayTradePrecreateModel model = new AlipayTradePrecreateModel(); model.OutTradeNo = "2018092815181234561223434123"; model.Subject = "扫码支付测试"; model.TotalAmount = "0.01"; model.QrCodeTimeoutExpress = "5"; alipayRequest.SetBizModel(model); //第三方调用方式 //AlipayTradePrecreateResponse response = client.Execute(alipayRequest, "", "app_auth_token"); //自调用方式 AlipayTradePrecreateResponse response = client.Execute(alipayRequest); Console.WriteLine("扫码支付返回信息:" + response.Body);   返回结果 扫码支付返回信息:{"alipay_trade_precreate_response":{"code":"10000","msg":"Succ ess","out_trade_no":"2018092815181234561223434123","qr_code":"https:\/\/qr.alipa y.com\/bax06292n6mzvqlvcefc00dd"},"sign":"eHPVyjPjaH/dXdnftit/WerHSihQvmFeA7Nu7P xSVDHIBDLE+RTaBWBPLvVqQPY1VmCCxFr+2I0aG93OYzyCwHbN3oj5+VSLiJZhzmGJnxm33MD8Iokxn3 L3Q3f99O9ek3f58ui+92Mydy/jc/5ar9Ayh0moaW3GnskqPUTSAjryirUAAER/2Y6DU7srXe2O9TYofP AqQRBMMjCSSmGZ+cZCKtzeL2yXU81X9pQUlB2wGpWyGTLTCrBZImNauSu4ihop7tMiSDN6j5xhC+twnH 3d5JwDB+8D7vBSEfBXMJ1Gj3JO0md7U3dnVu4w73lzvY4aoeP+PfuscKSiFxGtdw=="}   接口测试注意事项 1.将返回的二维码串(Qr_Code)传入前台生成二维码,用户使用手机支付宝扫码进行支付;我这边就偷懒使用工具生成了,各位别学我哈     2."code":"10000" 不代表支付成功,只是接口调用成功,请勿混为一谈,判断支付是否成功,请通过异步通知(notify_url)的返回值进行判断 3.qr_code_timeout_express:允许用户最晚付款时间,从接口调用成功开始计时,最小值2m;传值1m扫码支付会直接报二维码已失效,二维码有效时间是2小时,所以该参数设置值超过2h也是无效值; 4.timeout_express:最小值为1m,最大值为15t,不传默认15t; 5.app_auth_token:   使用场景:用于不会开发的商家找服务商代发起请求用,避免商户获取密钥,   如何获取:服务商使用第三方应用授权获取商家的app_auth_token,再将app_auth_token传入接口中进行请求,不传值app_auth_token,资金默认收入对应的appid,传值app_auth_token资金将收入到app_auth_token对应的授权商家账号中; 如何进行第三方应用授权请参考该帖:https://openclub.alipay.com/read.php?tid=1649&fid=68   6.如果遇到如下报错,请参考对应解决方案帖进行排查   无权限的小伙伴:https://openclub.alipay.com/read.php?tid=1672&fid=72   验签出错的小伙伴:https://openclub.alipay.com/read.php?tid=2432&fid=72   验签失败的小伙伴:https://openclub.alipay.com/read.php?tid=1598&fid=69   如果还是报错,请按如下方式进行提问: 正确提问方式:使用环境(沙箱还是正式环境)+接口名称(中文+英文)+ 请求参数 + 报错信息详情  
天籁
阅读 44
说明: 1.alipay.trade.order.settle(统一收单交易结算接口)也就是分账接口,主要是用于当面付接口交易成功后分账给指定用户 详细的api文档:点击查看      2.交易结算接口是属于当面...
愁余
阅读 214
如何减少商家支付宝的后台的待付款订单笔数
qingyangfeng1
阅读 56
如何添加应用
angel
阅读 2771
本经验是在微信中,用户点击支付直接跳转到浏览器中进行WAP支付,或者用扫码的形式变种成H5支付(因为支付宝的扫码付自身就带H5支付,可以通过截取代码演变)。下面就具体说一下操作方法把。 用户在微信中操作支付,...
ten
阅读 1373
说明: 在很多场景中都会需要通过alipay.trade.create接口生成一笔支付订单,然后通过JS唤起收银台支付,例如扫码点菜等。 需要注意的点: 交易状态必须以异步通知或查询接口为准,异步通知规则...
小周同学
阅读 126
qq1296692772,欢迎合作
古材
阅读 77
QQ2869946202
天津幻维极客信息技术有限公司
阅读 102
当面付低费率需要的找我 VX:1522211917
阿四
阅读 894
费率0  0.1  0.38  0.6  0.8    VX:AAA20180617   QQ:32676162     或者留下你的联系方式
Blue声色
阅读 167
这里没人看,移动到经验分享...
子琪
阅读 252
alipay.trade.order.settle接口返回的错误提示是 未知的错误码ACQ.UNKNOW_ERROR,请问是什么原因造成的。或者说调用这个接口有什么需要注意的地方吗?
vv2222
阅读 91
Sorry, CSRF verification failed(token missing or incorrect),refresh to try again.
呶,给你
阅读 88
异常订单在哪里解决
无敌的鸭蛋
阅读 252
寻求服务商   求帮忙开通底费率  是服务商留下联系方式或者加V1193322092
王兰玉
阅读 794
说明: 本帖是利用支付宝沙箱测试当面付支付接口,不是官方demo,是我自己写的简版示例,以及我的沙箱账号密钥,仅供参考测试用测试环境:适用于Visual studio 2010及以上版本、Framework3.5...
雾化
阅读 240
目前很多资源商户直接来官方咨询收银问题,以及支付宝对接支付以后的活动运营。尤其是系统商没有时间开发接口对接。 unipay.ai 专门未解决技术问题,SDK ,API对接开发。 让系统商大商户拜托个人二维码
冷风
阅读 1904
寻求服务商 求帮忙开通底费率 是服务商留下联系方式
朗通科技
阅读 404
  因为公司支付项目需要,我需要实现一个二维码支持微信跟支付宝支付,通过网上查询资料发现微信跟支付宝内置浏览器在跳转后台服务器时都会携带一个参数,经过确认以后认为这个功能可以实现.   于是就...
王兰玉
阅读 1394
这个接口是下载离线账单的,需要T+1天生成账单,不能查询当日或者是当月的账单,如果日期是当天或者是当月的会返回“参数不合法”; 详情请点击查看文档 下载对账单地址接口只有当面付接口可以下载trade类型的账...
颠覆白的黑
阅读 873
说明: 该贴主要说明如何在当面付之【统一收单线下交易预创建】接口中传入花呗分期参数的方法 调用前准备: 商户在花呗准入的前提下,才能够使用花呗分期进行收款,准入后有以下两种可选方式。 方...
热门帖子
最新提问

返回顶部