日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

企业支付宝账号开发接口实现

發布時間:2023/11/27 生活经验 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 企业支付宝账号开发接口实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自:http://my.oschina.net/xshuai/blog/313809

關于即時到賬的開發。審核通過。簡單測試如下。

希望看的可以收藏或者贊一下哦。

1:擁有自己的支付寶企業賬號。去產品商店選擇適合自己的方案。并簽約合同。

2:選擇合適的商家收款產品并去簽約。填寫相應的信息

3:在商家服務會有PID和KEY是關鍵的東西。

4:選擇自己簽約的產品類型,下載對應的接口api與測試代碼

  • 即時到賬收款 --alipaydirect

  • 網銀支付 --alipaydirect_bankpay_single

  • 擔保交易收款 --alipaytescow

  • 雙功能收款 --alipaydualfun

  • 快捷支付(無線) --WS_SECURE_PAY_SDK

  • 手機網站支付 --WS_WAP_PAYWAP

  • 掃碼即時到賬 --alipaymobileqrcode

  • 掃碼擔保交易?--alipaymobileqrcode

  • 批量付款到支付寶賬戶 --alipaytranspay

  • 快捷登錄 --alipayfastlogin?

????????官方給用戶自己提供了10種功能的代碼。

5:alipaydirect_bankpay_single 測試

在核心代碼alipayconfig需要更改自己的partner和key


6:測試界面

?

7:網銀銀行簡碼

網銀銀行簡碼?
??
BOCB2C??中國銀行
ICBCB2C?中國工商銀行
ICBCBTB?中國工商銀行(B2B)
CMB???????招商銀行
CCB??????????中國建設銀行
CCBBTB???中國建設銀行(B2B)
ABC???????????中國農業銀行
ABCBTB???中國農業銀行(B2B)
SPDB????????上海浦東發展銀行
SPDBB2B?上海浦東發展銀行(B2B)
CIB??????????????興業銀行
GDB????????????廣東發展銀行
SDB????????????深圳發展銀行
CMBC????????中國民生銀行
COMM????????交通銀行
CITIC??????????中信銀行
CEBBANK??光大銀行
NBBANK?????寧波銀行
HZCBB2C??杭州銀行
SHBANK?????上海銀行
SPABANK???平安銀行
BJRCB???北京農村商業銀行
fdb101???????富滇銀行
PSBC-DEBIT????中國郵政儲蓄銀行?
BJBANK??北京銀行

8:錯誤代碼錯誤說明

誤代碼說明
EXPARTNER_INFO_UNCORRECT?傳入外部商戶接口信息不正確?
TRADE_BUYER_NOT_MATCH?買家賬戶與交易中不一致?
TRADE_SELLER_NOT_MATCH賣家賬戶與交易中不一致?
TRADE_DATA_NOT_MATCH請求數據與交易中不一致
SELLER_NOT_IN_SPECIFIED_SELLERS?賣家不在指定的商戶限制賣家中?
ILLEGAL_SIGN?簽名驗證出錯?
ILLEGAL_ARGUMENT?輸入參數有錯誤?
HASH_NO_PRIVILEGE?沒有權限訪問該服務?
ILLEGAL_SERVICE?service參數不正確?
ILLEGAL_PARTNER?合作身份者ID不正確?
HAS_NO_PUBLICKEY?沒有上傳公鑰?
USER_NOT_EXIST?會員不存在?
OUT_TRADE_NO_EXIST?外部交易號已經存在?
TRADE_NOT_EXIST?交易不存在?
ILLEGAL_PAYMENT_TYPE?無效支付類型?
BUYER_NOT_EXIST?買家不存在?
SELLER_NOT_EXIST?賣家不存在?
BUYER_SELLER_EQUAL?買家、賣家是同一帳戶?
ILLEGAL_SIGN_TYPE?簽名類型不正確?
COMMISION_ID_NOT_EXIST?傭金收取帳戶不存在?
COMMISION_SELLER_DUPLICATE?收取傭金帳戶和賣家是同一帳戶?

出現的錯誤代碼為ILLEGAL_PARTNER_EXTERFACE?

1、沒有簽約這個接口的合同。?
2、簽約了相應的接口合同,但沒有生效。?
3、簽約了相應的接口合同,但由于違規違法等原因被審核部門強制關閉。?

9:頁面需要修改的東西alipayapi.jsp

10:跳轉頁面第6步有截圖。賣家賬號收款的賬號。不是付款的賬號哦。

????如果調試登錄了收款的支付寶賬號。會出錯的哦。錯誤截圖如下

錯誤代碼:BUYER_SELLER_EQUAL

?????如果調試登錄了收款的支付寶賬號。而且頁面填寫的賣家賬號非賣家賬號(收款賬號)會出現如下錯誤

錯誤代碼:SELLER_NOT_IN_SPECIFIED_SELLERS

??? 如果沒有錯誤。則會直接跳轉付款頁面。輸入買家賬號即可。

11:成功付款的頁面。付款頁面需要輸入購買用戶的支付寶賬號和支付密碼

12:使用springMVC封裝寫符合自己網站需求的代碼。以下代碼僅參考

這個是ALIPAYAPI代碼要獲取數據的

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Date?date?=?new?Date(); ????????//支付類型??必填?不必修改 ????????String?payment_type?=?"1"; ????????? ????????//服務器異步通知頁面路徑 ????????//需http://格式的完整路徑,不能加?id=123這類自定義參數 ????????String?notify_url?=?"http://localhost:8080/alipay/async"; ????????? ????????//頁面跳轉同步通知頁面路徑 ????????//需http://格式的完整路徑,不能加?id=123這類自定義參數,不能寫成http://localhost/ ????????String?return_url?=?"http://192.168.0.222:8080/alipay/return_url"; ????????? ????????//訂單名稱 ????????//必填 //????????String?subject?=?new?String(request.getParameter("WIDsubject").getBytes("ISO-8859-1"),"UTF-8"); ????????String?subject?=?new?String("測試商品".getBytes("ISO-8859-1"),"UTF-8"); ????????? ????????//付款金額 ????????//必填 //????????String?total_fee?=?new?String(request.getParameter("WIDtotal_fee").getBytes("ISO-8859-1"),"UTF-8"); ????????String?total_fee?=?"0.01"; ????????? ????????? ????????Map<String,?String>?sParaTemp?=?new?HashMap<String,?String>(); ????????sParaTemp.put("service",?"create_direct_pay_by_user");//接口服務----即時到賬 ????????sParaTemp.put("partner",?AlipayConfig.partner);//支付寶PID ????????sParaTemp.put("_input_charset",?AlipayConfig.input_charset);//統一編碼 ????????sParaTemp.put("payment_type",?payment_type);//支付類型 ????????sParaTemp.put("notify_url",?notify_url);//異步通知頁面 ????????sParaTemp.put("return_url",?return_url);//頁面跳轉同步通知頁面 ????????sParaTemp.put("seller_email",?Constants.SELLER_EMAIL);//賣家支付寶賬號 ????????sParaTemp.put("out_trade_no",?date.getTime()+payment_type);//商品訂單編號 ????????sParaTemp.put("subject",?subject);//商品名稱 ????????sParaTemp.put("total_fee",?total_fee);//價格 ????????? ????????//建立請求 ????????String?sHtmlText?=?AlipaySubmit.buildRequest(sParaTemp,?"get",?"立即付款"); ????????request.setAttribute("sHtmlText",?sHtmlText); ????????? ????????return?null;

?

付款是否成功的代碼

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ????????Map<String?,?String>?params?=?new?HashMap<String,?String>(); ????????Map?requestParams?=?request.getParameterMap(); ????????for?(Iterator?iter?=?requestParams.keySet().iterator();?iter.hasNext();)?{ ????????????String?name?=?(String)?iter.next(); ????????????String[]?values?=?(String[])?requestParams.get(name); ????????????String?valueStr?=?""; ????????????for?(int?i?=?0;?i?<?values.length;?i++)?{ ????????????????valueStr?=?(i?==?values.length?-?1?)??valueStr?+?values[i]:valueStr+values[i]+","; ????????????} ????????????params.put(name,?valueStr); ????????} ????????String?tradeNo?=?request.getParameter("out_trade_no"); ????????String?tradeStatus?=?request.getParameter("trade_status"); ????????if(AlipayNotify.verify(params)){ ????????????if(tradeStatus.equals("TRADE_FINISHED")?||?tradeStatus.equals("TRADE_SUCCESS")){ ????????????????System.out.println("ok!>>>>>>>>"?+?tradeNo); ????????????} ????????????return?"success"; ????????}else{ ????????????return?"fail"; ????????} ????}

?

?

?

13:使用springMVC封裝寫符合自己網站需求的代碼。以下代碼僅參考 全部都寫在一個Controller里面

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 /** ?*?支付寶Controller ?*?@author?宗瀟帥 ?*?@修改日期?2014-9-25下午1:29:53 ?*/ @Controller @RequestMapping(value="/aliapi") public?class?AlipayApiController?{ ????private?static?Log?log?=?LogFactory.getLog(AlipayApiController.class); ????? ????@RequestMapping(value="/index") ????public?String?index(HttpServletRequest?request, ????????????HttpServletResponse?response){ ????????????????return?"web/pay/fund";//付款的頁面。本頁面是為了測試而使用的 ????} ????? ????@RequestMapping(value?=?"/deposit",?method?=?RequestMethod.POST,produces?=?"application/json")?? ????public?String?deposit(HttpServletRequest?request,HttpServletResponse?response,Model?model)?throws?Exception?{? //????????PrintWriter?out?=?response.getWriter(); ????????String?result?=?""; ????????Date?date?=?new?Date();?? ????????//?支付類型?? ????????//?必填,不能修改?? ????????String?payment_type?=?"1";?? ????????//?服務器異步通知頁面路徑?? ????????//?需http://格式的完整路徑,不能加?id=123這類自定義參數?? ????????String?notify_url?=?"http://192.168.0.222:8080/live/aliapi/async";?? ????????//?頁面跳轉同步通知頁面路徑?? ????????//?需http://格式的完整路徑,不能加?id=123這類自定義參數,不能寫成http://localhost/?? ????????String?return_url?=?"http://192.168.0.222:8080/live/aliapi/return_url";?? ????????//?商戶訂單號.?? ????????//?商戶網站訂單系統中唯一訂單號,必填?? ????????//String?out_trade_no?=?date.getTime()?+?"";?? ????????//?訂單名稱?? ????????//?必填?? ????????String?subject?=?"充值測試";?? ????????//?防釣魚時間戳?? ????????//?若要使用請調用類文件submit中的query_timestamp函數?? ????????String?anti_phishing_key?=?"";?? ????????//?客戶端的IP地址?? ????????//?非局域網的外網IP地址,如:221.0.0.1?? ????????String?exter_invoke_ip?=?"";?? ??????????? ??????????? ????????String?total_fee?=?ServletRequestUtils.getStringParameter(request,?"amount",""); ????????? ????????String?body?=?ServletRequestUtils.getStringParameter(request,?"body","test"); ????????//商品展示地址 ????????String?show_url?=?ServletRequestUtils.getStringParameter(request,?"show_url","http://www.elve.cn"); ????????//需以http://開頭的完整路徑,例如:http://www.xxx.com/myorder.html ????????? ????????? ????????? ????????Map<String,?String>?sParaTemp?=?new?HashMap<String,?String>(); ????????sParaTemp.put("service",?"create_direct_pay_by_user");//接口服務----即時到賬 ????????sParaTemp.put("partner",?AlipayConfig.partner);//支付寶PID ????????sParaTemp.put("_input_charset",?AlipayConfig.input_charset);//統一編碼 ????????sParaTemp.put("payment_type",?payment_type);//支付類型 ????????sParaTemp.put("notify_url",?notify_url);//異步通知頁面 ????????sParaTemp.put("return_url",?return_url);//頁面跳轉同步通知頁面 ????????sParaTemp.put("seller_email",?Constants.SELLER_EMAIL);//賣家支付寶賬號 ????????sParaTemp.put("out_trade_no",?date.getTime()+payment_type);//商品訂單編號 ????????sParaTemp.put("subject",?subject);//商品名稱 ????????sParaTemp.put("total_fee",?total_fee);//價格 ????????sParaTemp.put("body",?body); ????????sParaTemp.put("show_url",?show_url); ????????sParaTemp.put("anti_phishing_key",?anti_phishing_key); ????????sParaTemp.put("exter_invoke_ip",?exter_invoke_ip); ?????????? ????????//建立請求 ????????try?{ ????????????String?sHtmlText?=?AlipaySubmit.buildRequest(sParaTemp,"post","確認");?? ????????????Gson?gson?=?new?GsonBuilder().setDateFormat("yyyy-MM-dd?HH:mm:ss").create(); ????????????String?s?=?gson.toJson(sHtmlText); ????????????model.addAttribute("sHtmlText",?s); ????????????request.setAttribute("sHtmlText",?s); ????????????result?=?"{\"success\":true,\"msg\":\"跳轉成功\"}"; ????????????StringUtil.writeToWeb(sHtmlText,?"html",?response); ????????????return?null; ????????}?catch?(Exception?e)?{ ????????????if(log.isErrorEnabled()){ ????????????????log.error("ddddddddddddddddddddd"); ????????????} ????????????result?=?"{\"success\":false,\"msg\":\"跳轉失敗,請稍候再試!\"}"; ????????????StringUtil.writeToWeb(result,?"html",?response); ????????????return?null; ????????} ????}?? ????/** ?????*?同步通知的頁面的Controller ?????*?@param?request ?????*?@param?response ?????*?@return ?????*?@author?宗瀟帥 ?????*/ ????@RequestMapping(value="/return_url") ????public?String?Return_url(HttpServletRequest?request,HttpServletResponse?response){ ????????return?"web/pay/success"; ????} ????/** ?????*?異步通知付款狀態的Controller ?????*?@param?request ?????*?@param?response ?????*?@return ?????*?@author?宗瀟帥 ?????*/ ????@SuppressWarnings("rawtypes") ????@RequestMapping(value="/async",method?=?RequestMethod.GET) ????public?String?async(HttpServletRequest?request, ????????????HttpServletResponse?response){ ?????????Map<String,String>?params?=?new?HashMap<String,String>();?? ????????????Map?requestParams?=?request.getParameterMap();?? ????????????for?(Iterator?iter?=?requestParams.keySet().iterator();?iter.hasNext();)?{?? ????????????????String?name?=?(String)?iter.next();?? ????????????????String[]?values?=?(String[])?requestParams.get(name);?? ????????????????String?valueStr?=?"";?? ????????????????for?(int?i?=?0;?i?<?values.length;?i++)?{?? ????????????????????valueStr?=?(i?==?values.length?-?1)???valueStr?+?values[i]:?valueStr?+?values[i]?+?",";?? ????????????????}?? ????????????????params.put(name,?valueStr);?? ????????????}?? ????????????String?tradeNo?=?request.getParameter("out_trade_no");?? ????????????String?tradeStatus?=?request.getParameter("trade_status");?? ????????????//String?notifyId?=?request.getParameter("notify_id");?? ????????????if(AlipayNotify.verify(params)){//驗證成功?? ????????????????if(tradeStatus.equals("TRADE_FINISHED")?||?tradeStatus.equals("TRADE_SUCCESS"))?{?? ????????????????????//要寫的邏輯。自己按自己的要求寫 ????????????????????log.error("ok......."); ????????????????????System.out.println(">>>>>充值成功"?+?tradeNo);?? ????????????????}?? ????????????????return?"web/pay/success";?? ????????????}else{//驗證失敗?? ????????????????return?"web/pay/fail";?? ????????????}?? ????????? ????} }

?

14:JSP付款頁面表單提交數據并彈出付款頁面

????只做了簡單的表單提交。可以根據自己的要求修改

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 <%@?page?contentType="text/html;charset=UTF-8"?%> <!DOCTYPE?html> <html?xmlns="http://www.w3.org/1999/xhtml"> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/> <%@?include?file="/common/webMeta.jsp"%> <title>www.elve.cn</title> <meta?content="www.elve.cn"?name="keywords"?/> <meta?content="www.elve.cn"?name="description"?/> </head> <script?type="text/javascript"> ????$(function(){ ????$("#amount").focus(); ????$("#doSubmit").click(function(){ ????????form1.submit(); ????}); }); </script> <body> ????<form?id="form1"?action=?"${ctx?}/aliapi/deposit"?method="post"?target="_blank">?? ????????????????<table?cellpadding="10">?? ????????????????????<tr>?? ????????????????????????<td>充值測試</td>?? ????????????????????????<td?class="balance"?id="userBalance"></td>?? ????????????????????</tr>?? ????????????????????<tr>?? ????????????????????????<td><i?class="zfb"></i></td>?? ????????????????????????<td?style="padding-bottom:?0px;">親愛的<span?? ????????????????????????????class="suppliment_user"?id="suppliment_user"></span>,您可以使用支付寶充值積善分,請填寫以下信息?? ????????????????????????</td>?? ????????????????????</tr>?? ????????????????????<tr>?? ????????????????????????<td></td>?? ????????????????????????<td> ????????????????????????????????金額<input?type="text"?name="amount"?id="amount"> ????????????????????????</td>?? ????????????????????</tr>?? ??? ????????????????????<tr>?? ????????????????????????<td></td>?? ????????????????????????<td><a?href="javascript:void(0);"?id="doSubmit"?class="blank_btn">確認</a></td>?? ????????????????????</tr>?? ????????????????</table>?? ????</form>?? </body> </html>

?

總結:企業支付寶接口開發基本完善。頁面和小功能需要自己修改就可以了。沒有什么可難的。接口開發。只要明白怎么跳轉就可以了。支付寶開發文檔說的很明白的。

轉載于:https://www.cnblogs.com/jym-sunshine/p/4726186.html

總結

以上是生活随笔為你收集整理的企业支付宝账号开发接口实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。