1. 程式人生 > >記錄一波支付寶支付功能

記錄一波支付寶支付功能

相對微信支付而言,支付寶的支付開發文件易懂。並且有封裝好了的sdk.開發者很容易實現支付寶支付功能。先說說的支付寶的支付邏輯。我公司申請的是app支付。後臺需要自己生成商戶唯一的訂單號,呼叫支付寶封裝號的sdk介面。呼叫成功,支付寶返回一個加密的支付憑證。可以直接返回到前端app。不用再做處理,前端那到這個支付憑證。喚醒支付寶app支付金額。支付成功後,前端app會跳轉一個介面。支付寶會非同步呼叫一個自己伺服器後端的一個方法。確定是否正在付款成功。最終是否付款成功也以這個回撥伺服器這個為準。程式碼如下。雖然有點亂。

 //獲得初始化的AlipayClient
    AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);
   
    //例項化客戶端
    /*AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");*/
    //例項化具體API對應的request類,類名稱和介面名稱對應,當前呼叫介面名稱:alipay.trade.app.pay
    AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
    //SDK已經封裝掉了公共引數,這裡只需要傳入業務引數。以下方法為sdk的model入參方式(model和biz_content同時存在的情況下取biz_content)。
    AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
    model.setBody(pingres.getBody());
    model.setSubject(pingres.getSubject());
    model.setOutTradeNo(pingres.getOut_trade_no());
    model.setTimeoutExpress("30m");
    model.setTotalAmount(pingres.getTotal_amount());
    model.setProductCode("QUICK_MSECURITY_PAY");

    request.setBizModel(model);

    request.setNotifyUrl("xxx/callbacks.do");
    Map<Object, Object> map=new HashMap<Object, Object>();
     try {
            //這裡和普通的介面呼叫不同,使用的是sdkExecute
            AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
            System.out.println(response.getBody());//就是orderString 可以直接給客戶端請求,無需再做處理。
            map.put("result", response.getBody());
            return new AjaxResult(map);
    } catch (AlipayApiException e) {
            e.printStackTrace(); 
            map.put("result", "-1");
            return new AjaxResult(map);
            

    }

支付寶的回掉解析:

     @ResponseBody
    @RequestMapping("/callbacks.do")
    public String callbacks( HttpServletRequest request ) throws Exception {
            //接收支付寶返回的請求引數
            Map requestParams = request.getParameterMap();


            JSONObject json = JSONObject.parseObject(JSON.toJSONString(requestParams));


            String trade_status = json.get("trade_status").toString().substring(2,json.get("trade_status").toString().length()-2);
            String out_trade_no = json.get("out_trade_no").toString().substring(2,json.get("out_trade_no").toString().length()-2);
            String notify_id = json.get("notify_id").toString().substring(2,json.get("notify_id").toString().length()-2);


            System.out.println("====================================================");
            System.out.println(json.toString());
            System.out.println("支付寶回撥地址!");
            System.out.println("商戶的訂單編號:" + out_trade_no);
            System.out.println("支付的狀態:" + trade_status);    


            if(trade_status.equals("TRADE_SUCCESS")) {
          
            自己的業務邏輯
           

                return "SUCCESS";
                }
            else {
            自己的業務邏輯
                return "error";
            }
        }

相關推薦

記錄支付支付功能

相對微信支付而言,支付寶的支付開發文件易懂。並且有封裝好了的sdk.開發者很容易實現支付寶支付功能。先說說的支付寶的支付邏輯。我公司申請的是app支付。後臺需要自己生成商戶唯一的訂單號,呼叫支付寶封裝號的sdk介面。呼叫成功,支付寶返回一個加密的支付憑證。可以直接返回到前端a

Spring Boot 分鐘擁有支付支付功能

建立Spring Boot專案 並新增如下引入依賴 <dependency> <groupId>white.fisher<

步帶你完成支付支付功能的整合(超詳細)

首先說說筆者的整合經歷,一開始整合時,像往常一樣百度了一下整合的方法,然後出來一大堆結果,以為應該會很簡單,然而事實卻並非如此。網上的整合方法很多都是舊版本的整合,現在支付寶已經對sdk以及demo進行了更新,雖說和舊版差別不是很大,不過對於不瞭解整個流程的開發

接入支付支付接口():發起支付請求

支付寶一、前言在接入支付寶接口之前,需要在支付寶官網進行應用註冊和實名認證,地址不再貼出。在此,貼出支付寶開放平臺文檔地址:https://docs.open.alipay.com/58/103585/在這個地址中,詳細介紹了如何接入支付寶接口二、發起請求支付寶的簽名方式等不做詳細介紹,在開發文檔中有詳細說明

如何給網站添加支付支付功能

在線 相關 放心 感覺 pid gpo 百度搜索 點擊 服務 支付寶大家應該都聽說過,因為淘寶購買一般都用的是支付寶。在淘寶買東西只需要把錢打入支付寶,收到貨到感覺貨不錯,再確認收貨錢才會到賣家的支付寶帳戶當中。這樣消費者購物才會放心。那麽,我們如果有電子商務網站如何弄成像

Spring MVC+Spring+Mybatis實現支付支付功能(圖文詳解)

通用 ltr 由於 題解 urn ipa 源代碼 ram abi 前言 本教程詳細介紹了如何使用ssm框架實現支付寶支付功能。本文章分為兩大部分,分別是「支付寶測試環境代碼測試」和「將支付寶支付整合到ssm框架」,詳細的代碼和圖文解釋,自己實踐的時候一定仔細閱讀相關文

ThinkPHP5.0 實現 app支付支付功能

napi security rsa 賬號 sdk n) success format 修改 https://mp.weixin.qq.com/s/EbfOmEGN93QAnrZOKVP0Vg 先來個效果圖 做這個支付寶支付我總共用到了三個控制器: 1:支付寶支付控制器

支付支付功能

前期準備 首先我們需要獲得支付寶提供的許可權與介面,在螞蟻開放平臺進行相關申請:https://openhome.alipay.com/platform/appDaily.htm?tab=info 申請支付寶賬戶許可權 建立應用 沙箱測試環境 appID:我的身份 支付寶閘道器:測試環

接入支付支付 錯誤碼4000,排查方法——開發記錄

最近,寫專案,再一次使用到了微信支付,和支付寶支付。之前無數次爬坑, 可是每次出現的問題總是不一樣,這一次接入支付寶,和微信,一共浪費了兩天時間。 總結下,遇到坑的問題所在。 重點標註下——全部都是後臺的問題,全部都是後臺的。或者是開放平臺配置的問題。跟移動端沒有毛關係。沒有毛關係。 有

cocos creator整合支付支付功能--安卓篇

App支付Android整合流程:(開啟cocos creator打包後的android studio 工程) 1:匯入開發資源 將alipaySdk-xxxxxxxx.jar包放入商戶應用工程的libs目錄下,如下圖。 2:將此jar包匯入到依賴jar包中去:右鍵jar包選擇 Add

張圖瞭解微信支付支付流程

轉自:https://www.cnblogs.com/yang-shuai/p/6516173.html   1、微信支付 以下是微信支付互動時序圖,統一下單API、支付結果通知API和查詢訂單API等都涉及簽名過程, 呼叫都必須在商戶伺服器端完成。如圖1所示。

java版+支付支付和微信支付()

最近公司在做支付模組,在接入過程中遇到了很多坑,費了不少事,現在分享一下接入方法,也記錄一下,以後可能還用的到。用的是支付寶的即時到帳支付功能和微信的掃碼支付功能,相比起來,個人感覺支付寶的文件和接入方式都比微信的容易理解和操作,也不用自己寫頁面,接入起來比較方便,畢竟是支付

【Django REST framework電商專案筆記】第10章 購物車, 訂單和支付支付功能(上)

購物車功能實現 在交易 trade 應用上 在商品詳情頁點選加入購物車,彈出提示框(去結算、繼續購物),右上角會新增商品到購物車 這是從後臺取出來的資料,可以顯示商品、數量、總價等資訊 新增商品,在商品數量上加一,直接更新數量即可 注意shoppingcart

【Django REST framework電商專案筆記】第10章 購物車, 訂單和支付支付功能(中)

訂單管理介面實現 首先理解一下購物車和訂單之間的關係。 我們現在是做了一種最簡單的實現就是把購物車中所有商品進行一起的結算 orderInfo model 裡面有一個order_sn是不能為空的。 點選去結算之後為它生成一個訂單。然後讓使用者去支付頁面進行支付。

【Django REST framework電商專案筆記】第10章 購物車, 訂單和支付支付功能(下)

Pycharm遠端除錯程式碼 第三方支付和第三方登入都有一個回撥的URl。一般指向伺服器的ip地址。 要完成能夠通過pycharm去除錯遠端的伺服器,回撥時就可以除錯程式碼。 如何將程式碼上傳到遠端伺服器 1、點選tools下的deploy點選configura

使用ssm框架實現支付支付功能

2.下載解壓匯入eclipse readme.txt請好好看一下。 只有一個Java配置類,其餘都是JSP。 3.配置AlipayConfig (1) 註冊螞蟻金服開發者賬號(免費,不像蘋果會收取費用) (2) 設定app_id和gatewayUrl 其中

推薦一下github上鍵集合的微信和支付支付

1.微信支付 接入流程: 主要幾個步驟: 1.統一下單(放在服務端,需要加密引數) 2.生成支付引數(放在服務端,需要生成簽名) 3.呼叫客戶端SDK發起支付 4.服務端非同步接收支付結果 2.支付寶支付 接入流程: 生成支付引數(放在服務端,需要生成簽名) 呼叫客戶端

支付支付開發支付付款介紹

https://doc.open.alipay.com/doc2/detail.htm?treeId=194&articleId=105072&docType=1 線下當面付產品支援條碼支付、掃碼支付、聲波支付。 條碼支付 條碼支付是支付寶給到線下傳

支付相關():APP支付支付(JAVA服務端開發)

開發環境:springboot最近一年兩個專案開發,其中APP支付這塊用到了微信支付,支付寶支付,以及轉賬到微信零錢,轉賬到支付寶賬號等功能,下面會分成4個文章來介紹。具體的開通微信和支付寶問題我不再敘述,直接上程式碼,程式碼會打包放在CSDN去下載,沒有分的可以找我。簽約注

selenium2java微信支付購買功能測試用例

本人在學習使用selenium2java的過程中,遇到了測試支付寶和微信購買課程的用例,寫起來略微複雜了一些,因為考慮到重複測試,得先修改使用者訂單狀態,還得考慮使用者已經買過、下單未付款、第一次購買等情況,中間用到了if-else if -else的判斷語法,還得切換視窗