電腦網(wǎng)站接入沙箱版支付寶支付(Java版)

1.打開(kāi)支付寶開(kāi)放平臺(tái),網(wǎng)址 https://open.alipay.com/platform/home.htm
直接用手機(jī)上的支付寶APP掃碼就可以登錄鳖藕,由于支付寶上已經(jīng)有個(gè)人信息,
所以完善信息時(shí)怨绣,非常方便牡肉。
登錄成功之后 點(diǎn)擊進(jìn)入我的平臺(tái)睬愤,點(diǎn)擊頂部的菜單欄里面有一個(gè)開(kāi)發(fā)者中心,
進(jìn)入開(kāi)發(fā)者中心之后劲蜻,在開(kāi)發(fā)服務(wù)里面有一個(gè)研發(fā)服務(wù)陆淀,點(diǎn)擊研發(fā)服務(wù),就可以進(jìn)入到
沙箱環(huán)境先嬉。如圖

Inked沙箱環(huán)境界面_LI.jpg

2.看到上面界面之后轧苫,接下來(lái)只需要配置密鑰即可。官方推薦使用RSA2,我這里也是使用這種方式疫蔓。將鼠標(biāo)放在RSA2(SHA256)密鑰(推薦)旁邊的那個(gè)不知道什么顏色的小圓圈上含懊,會(huì)出現(xiàn)下面的場(chǎng)景


密鑰_1.jpg

點(diǎn)擊生成方法,就跳轉(zhuǎn)到了密鑰生成的教程中鳄袍。我這里也把這個(gè)網(wǎng)址發(fā)給大家绢要,也可以用我這個(gè)網(wǎng)址,也能進(jìn)入密鑰生成教程中https://opendocs.alipay.com/open/291/105971
支付寶是提供了一個(gè)工具拗小,幫我們來(lái)生成密鑰重罪,里面也有在線(xiàn)調(diào)試API接口等功能,相當(dāng)好用哀九,根據(jù)自己的系統(tǒng)剿配,下載這個(gè)工具,安裝即可阅束。傻瓜式安裝呼胚。\color{red}{唯一需要注意的是,windows不要將這個(gè)工具安裝有空格的目錄路徑下息裸,會(huì)導(dǎo)致密鑰亂碼}
接下來(lái)按照里面普通公鑰方式蝇更,生成應(yīng)用公鑰、私鑰即可呼盆。生成之后年扩,將公鑰,私鑰隨便保存在一個(gè)地方就行访圃。如果將來(lái)忘記了厨幻,可以重新生成。每次生成的公鑰和私鑰都是一對(duì),后續(xù)代碼中搭配使用即可(這里對(duì)單身狗造成一萬(wàn)點(diǎn)暴擊)况脆。

3.設(shè)置沙箱的密鑰饭宾。點(diǎn)擊RSA2(SHA256)密鑰(推薦) 哪一行里面的設(shè)置,會(huì)看到如下界面格了,選擇公鑰看铆,然后將上一步生成的\color{red}{應(yīng)用公鑰}復(fù)制粘貼到里面。點(diǎn)擊保存設(shè)置笆搓。

InkedInked密鑰_2_LI.jpg

4.通過(guò)上一步性湿,根據(jù)應(yīng)用公鑰會(huì)生成一個(gè)支付寶公鑰,支付寶公鑰在代碼中要用满败,如圖


Inked支付寶公鑰_LI.jpg

5.好了肤频,接下來(lái)我們就可以根據(jù)文檔,來(lái)寫(xiě)代碼了算墨。在沙箱應(yīng)用的那個(gè)界面宵荒,你往底下拉,就能看到一個(gè)表格净嘀,里面提供了沙箱可以調(diào)試的所有的功能报咳,我這里是選擇了電腦網(wǎng)站支付。如果找不到挖藏,我這里直接將該功能的入門(mén)文檔的網(wǎng)址發(fā)出來(lái)https://opendocs.alipay.com/open/270暑刃。我這里就不帶著大家看這個(gè)文檔了,直接上代碼了膜眠。

6.搭建一個(gè)SSM或者springBoot的項(xiàng)目岩臣,這個(gè)過(guò)程我就不寫(xiě)了,相信大家比我熟練宵膨。
我這里就只貼出支付部分的代碼了架谎。在pom文件中添加該依賴(lài)即可,也可以直接去maven依賴(lài)查詢(xún)里面辟躏,選擇自己想要的版本谷扣,我這是目前最新的版本
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.9.124.ALL</version>
</dependency>

  @RequestMapping("/test")
    public  void test(HttpServletResponse httpResponse) throws IOException {
      /**
        創(chuàng)建client對(duì)象 支付寶支付的工具對(duì)象
        第一個(gè)參數(shù):支付寶網(wǎng)關(guān)URL,咱們是沙箱環(huán)境捎琐,所以在沙箱應(yīng)用那個(gè)界面里
                           有支付寶網(wǎng)關(guān)会涎,你把那個(gè)url復(fù)制過(guò)來(lái)
        第二個(gè)參數(shù):APPID,在沙箱應(yīng)用那個(gè)界面里面也有瑞凑,復(fù)制過(guò)來(lái)
        第三個(gè)參數(shù):私鑰末秃,把剛才生成的私鑰復(fù)制過(guò)來(lái)
       第四個(gè)參數(shù):參數(shù)返回格式,這個(gè)參數(shù)目前只支持json
       第五個(gè)參數(shù):編碼集拨黔,支持GBK或者UTF-8,這里根據(jù)你的實(shí)際編碼方式給蛔溃。
                      前后端要統(tǒng)一,要不然會(huì)簽名無(wú)效.
      第六個(gè)參數(shù):支付寶公鑰篱蝇,從沙箱應(yīng)用界面里面贺待,
                      將剛才生成的支付寶公鑰復(fù)制過(guò)來(lái),別給錯(cuò)了零截,
                      是支付寶公鑰麸塞,不是應(yīng)用公鑰!!!!!!!
       第七個(gè)參數(shù):簽名生成的算法類(lèi)型,我們剛才公鑰私鑰是通過(guò)RSA2涧衙,
                    所以這里寫(xiě)RSA2哪工,目前該參數(shù)只支持RSA和RSA2
     */
        AlipayClient client = new DefaultAlipayClient(URL,
                                                      APPID,
                                                    APP_PRIVATE_KEY,
                                                    FORMAT,
                                                     CHARSET,
                                                    ALIPAY_PUBLIC_KEY,
                                                     SIGN_TYPE);
       /*創(chuàng)建請(qǐng)求對(duì)象,使用的支付方式為 alipay.trade.page.pay弧哎,
        所以類(lèi)型為AlipayTradePagePayRequest  
     */
        AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
     /**
      請(qǐng)求參數(shù)雁比,我這里只是寫(xiě)了必須的參數(shù),還有很多可選參數(shù)撤嫩,
       可以從API列表中自己去看偎捎,這是網(wǎng)址
       https://opendocs.alipay.com/apis/api_1/alipay.trade.page.pay/
    */
        HashMap<String,String> reqParams = new HashMap<>();
       //訂單號(hào)
        reqParams.put("out_trade_no","1588067952561");
      //訂單標(biāo)題
        reqParams.put("subject","mjj");
      //訂單價(jià)格
        reqParams.put("total_amount","80");
     //銷(xiāo)售產(chǎn)品碼,目前只支持FAST_INSTANT_TRADE_PAY
        reqParams.put("product_code","FAST_INSTANT_TRADE_PAY");
     //將map轉(zhuǎn)換為json字符串
        String json = JSON.toJSONString(reqParams);
       // System.out.println(json);
     //將以上參數(shù)序攘,添加到request對(duì)象中
        request.setBizContent(json);
       //接收請(qǐng)求成功后的form表單茴她,字符串類(lèi)型
        String form = "";
        try {
            //發(fā)送請(qǐng)求
            AlipayTradePagePayResponse response = client.pageExecute(request);
            //isSuccess方法用來(lái)判斷請(qǐng)求是否成功
            //System.out.println(response.isSuccess());
          //獲取到返回的form表單
            form = response.getBody();
        }catch (Exception e){
            e.printStackTrace();
           // return "error";
        }
       // System.out.println("aaaaaa:" + form);
        //設(shè)置響應(yīng)字符集,一定要和client中保持一致
        httpResponse.setCharacterEncoding(AliPayClientParams.CHARSET);
        httpResponse.setContentType("text/html;charset="  + AliPayClientParams.CHARSET);
      //將form返回前端程奠,支付寶那邊會(huì)自動(dòng)提交該表單丈牢,我們就能看到一個(gè)支付界面
        httpResponse.getWriter().write(form); //直接將完整的表單html輸出到頁(yè)面
        httpResponse.getWriter().flush();
        httpResponse.getWriter().close();
    }

在谷歌瀏覽器下,我這里是返回如下界面換成IE就好了瞄沙。


谷歌.jpg

IE.jpg

好了己沛,功能不難,就是得細(xì)心一點(diǎn)帕识。祝大家敲碼愉快泛粹。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市肮疗,隨后出現(xiàn)的幾起案子晶姊,更是在濱河造成了極大的恐慌,老刑警劉巖伪货,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件们衙,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡碱呼,警方通過(guò)查閱死者的電腦和手機(jī)蒙挑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)愚臀,“玉大人忆蚀,你說(shuō)我怎么就攤上這事。” “怎么了馋袜?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵男旗,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我欣鳖,道長(zhǎng)察皇,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任泽台,我火速辦了婚禮什荣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘怀酷。我一直安慰自己稻爬,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布蜕依。 她就那樣靜靜地躺著因篇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪笔横。 梳的紋絲不亂的頭發(fā)上竞滓,一...
    開(kāi)封第一講書(shū)人閱讀 49,079評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音吹缔,去河邊找鬼商佑。 笑死,一個(gè)胖子當(dāng)著我的面吹牛厢塘,可吹牛的內(nèi)容都是我干的茶没。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼晚碾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼抓半!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起格嘁,我...
    開(kāi)封第一講書(shū)人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤笛求,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后糕簿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體探入,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年懂诗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蜂嗽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡殃恒,死狀恐怖植旧,靈堂內(nèi)的尸體忽然破棺而出辱揭,到底是詐尸還是另有隱情,我是刑警寧澤病附,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布界阁,位于F島的核電站,受9級(jí)特大地震影響胖喳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜贮竟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一丽焊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧咕别,春花似錦技健、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至偿短,卻和暖如春欣孤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背昔逗。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工降传, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人勾怒。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓婆排,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親笔链。 傳聞我的和親對(duì)象是個(gè)殘疾皇子段只,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容