操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    一、申請移動支付權(quán)限

    首先登錄【支付寶開放平臺】,添加應(yīng)用,申請移動支付權(quán)限。申請開通支付,是需要公司文件的,個人是不允許開始支付的。

    具體細(xì)節(jié)就不再詳聊了,下面就講講如何將阿里給出的demo運行起來。

    二、阿里支付DEMO 1、概述 (1)支付調(diào)用頁面及測試

    支付寶在調(diào)用時,會首先看本地是不是存在支付寶客戶端,如果有的話,就直接調(diào)用客戶端進(jìn)行支付,如果沒有,則調(diào)用jar包中的H5頁面支付。

    所以在測試時,需要有測試兩種情境:有支付寶客戶端和沒有支付寶客戶端的情況。

    (2)、客戶端與服務(wù)器 在demo中大家可以看到,有客戶端的demo也有服務(wù)端的demo,大家可能覺得需要服務(wù)端寫好之后,客戶端才能集成,其實并不是。整個流程是這樣的:

    1,APP客戶端通過SDK發(fā)送支付請求 (客戶端處理)

    2,SDK支付成功并同步返回支付結(jié)果(客戶端處理)

    3,支付寶服務(wù)器向我們的服務(wù)器發(fā)送支付結(jié)果字符串(服務(wù)端處理)

    客戶端:從上面的流程可以看出,服務(wù)端只是用來接出異步返回的支付結(jié)果的。而支付與同步結(jié)果返回都是在客戶端可以直接看得到的。所以在集成支付寶支付接口時,主要功能是在客戶端,即便服務(wù)端沒有做集成,也是可能付款成功的。

    服務(wù)端:服務(wù)端只需要添加一個功能:接口支付結(jié)果返回

    下面幾張圖顯示了整個demo的運行過程,由于沒辦法在真機(jī)上錄制gif,所以只能用圖片來代替了。

    初始化界面:

    點擊支付后,跳出確認(rèn)付款界面:

    點擊確認(rèn)付款后,跳出輸入密碼界面:

    最后是支付成功界面:

    在看DEMO的代碼之前,我們需要先配置幾個變量:

    2、配置幾個變量 這部分會對代碼中用到的幾個變量的找到方法或生成方法進(jìn)行講述,部分資料引自支付寶開放平臺。

    (1)PID

    合作者身份ID(PID)是商戶與支付寶簽約后,商戶獲得的支付寶商戶唯一識別碼。當(dāng)商戶把支付寶功能接入商戶網(wǎng)站時會用到PID,以便讓支付寶認(rèn)證商戶。

    查看PID步驟如下:

    1、登錄支付寶官方網(wǎng)站

    網(wǎng)站怎么調(diào)用支付寶開發(fā)包集成_網(wǎng)站怎么調(diào)用支付寶開發(fā)包集成_網(wǎng)站如何集成支付寶

    2、點擊導(dǎo)航欄中“商家服務(wù)”

    3、點擊“查詢PID、Key”

    (2)、APPID、APP 和支付寶公鑰 在頁面,創(chuàng)建一個應(yīng)用

    完成之后:在我的應(yīng)用中是可以看得到的:

    然后轉(zhuǎn)到帳戶基本信息頁面:

    在開放平臺密鑰欄,可以找到APPID,APP ,和支付寶密鑰

    這三個數(shù)據(jù),都是在應(yīng)用創(chuàng)建后,支付寶為我們生成好的,無法更改!

    (3)、生成商戶私鑰【生成方法】 (有關(guān)mac的生成方法,下面會再補充)

    1、下載DEMO及SDK

    到文檔中心,查看移動支付對應(yīng)的文檔,文檔地址:

    然后,點擊(SDK&DEMO下載)下載代碼

    2、得到原始私鑰

    在代碼中的DEMO//bin目錄下,有.exe文件

    打開.exe

    輸入

    [java]

    -.

    得到生成成功的結(jié)果,如下圖:

    網(wǎng)站怎么調(diào)用支付寶開發(fā)包集成_網(wǎng)站怎么調(diào)用支付寶開發(fā)包集成_網(wǎng)站如何集成支付寶

    此時,我們可以在bin文件夾中看到一個文件名為.pem的文件

    用記事本方式打開它,可以看到-----BEGIN RSA KEY-----開頭,-----END RSA KEY-----結(jié)尾的沒有換行的字符串,這個就是原始的私鑰。

    但這段原始私鑰代碼中是用不到的,我們需要將它轉(zhuǎn)化為PKCS8格式

    3、轉(zhuǎn)換為PKCS8格式

    在.exe中輸入:并回車

    [java]

    pkcs8-topk8--.pem--

    得到生成功的結(jié)果,這個結(jié)果就是PKCS8格式的私鑰,如下圖:

    注意,私鑰是紅框包括的那部分,是不包含BEGIN KEY和END KEY這兩行的。

    右鍵點擊窗口上邊邊緣,選擇編輯→標(biāo)記,選中要復(fù)制的文字(如上圖),

    此時繼續(xù)右鍵點擊窗口上邊邊緣,選擇編輯→復(fù)制,

    把復(fù)制的內(nèi)容粘土進(jìn)一個新的記事本中,可隨便命名,只要知道這個是PKCS8格式的私鑰即可。

    (4)、生成商戶私鑰【MAC生成方法】

    這里來講一下mac端如何生成用戶私鑰的,由于mac系統(tǒng)是自帶的,所以只需要打開終端,利用cd 命令切到任意一個想存放生成Key的文件夾下:

    比如,切到下載目錄下

    然后運行下面的命令來生成私鑰原始密鑰

    [java]

    -.

    然后運行下面的命令來生成轉(zhuǎn)換的PCKS8格式的命令。

    [java]

    網(wǎng)站如何集成支付寶_網(wǎng)站怎么調(diào)用支付寶開發(fā)包集成_網(wǎng)站怎么調(diào)用支付寶開發(fā)包集成

    -topk8--.pem--

    然后將生成的私鑰復(fù)制保存起來。

    從上面的命令可以看出,與相比,mac上需要在前面添加指定運行的是命令。其它命令是完全一致的。

    (5)、生成用戶公鑰及網(wǎng)頁填充 1、生成公鑰

    同樣對于用戶而言,直接在.exe中輸入下面的命令:

    [java]

    rsa-.pem--.pem

    同樣,如果是Mac的同學(xué),輸入的命令應(yīng)該是如下:

    [java]

    -.pem--.pem

    得到生成成功的結(jié)果,如下圖:

    此時,我們可以在bin文件夾中看到一個文件名為.pem的文件,用記事本方式打開它,可以看到-----BEGIN KEY-----開頭,

    -----END KEY-----結(jié)尾的沒有換行的字符串,這個就是公鑰。

    在生成網(wǎng)頁以后,復(fù)制----BEGIN KEY-----和-----END KEY-----之間的部分,即那段純代碼,不要把----BEGIN KEY-----和-----END KEY-----給復(fù)制進(jìn)去了。中間的這部分就是公鑰。

    2、網(wǎng)頁填充

    然后到(需要登錄)中,左側(cè)找到合作伙伴密鑰欄,再到右側(cè)的RSA加密中,將公鑰粘貼進(jìn)去。由于,我們已經(jīng)粘貼進(jìn)去了,所以這里顯示查看開發(fā)者公鑰,在沒填之前寫的是“添加開發(fā)者公鑰”

    到這里,所有的準(zhǔn)備工作都已經(jīng)結(jié)束了。下面就是配置DEMO的過程了

    3、配置DEMO 在剛才下載的sdk&demo的源碼中,打開DEMO/客戶端demo/支付寶 15.0.1/工程

    路徑如下:

    在中配置幾個變量:

    網(wǎng)站如何集成支付寶_網(wǎng)站怎么調(diào)用支付寶開發(fā)包集成_網(wǎng)站怎么調(diào)用支付寶開發(fā)包集成

    [java]

    //PID ="";

    在這里填上我們上面找到的PID;

    [java]

    //商戶收款賬號 ="";

    然后在上寫上我們支付寶的登錄帳戶,即那個你申請移動支付的支付寶賬號

    [java]

    //支付寶公鑰 ="";

    然后在這里填上支付寶公鑰

    [java]

    //商戶私鑰,pkcs8格式 ="";

    最后是填上對應(yīng)的商戶私鑰,注意是PKCS8格式的。

    私鑰這部分,注意是----BEGIN KEY-----和-----END KEY-----之間的部分,即那段純代碼,不要把----BEGIN KEY-----和-----END KEY-----給復(fù)制進(jìn)去了。中間的這部分就是公鑰。

    現(xiàn)在運行demo就直接可以支付了。

    本文中對應(yīng)的DEMO在文章底部給出。

    4、代碼講解 通過上面的配置,demo應(yīng)該就直接可以運行了,但這里所涉及的代碼,我們再仔細(xì)看看

    主要的支付與結(jié)果返回就是pay()這個函數(shù),這里完成了支付所需要的所有功能。代碼如下:

    [java]

    (Viewv){ ………… //訂單信息 =("測試的商品","該測試商品的詳細(xì)描述","0.01"); //對訂單做RSA簽名 =sign(); try{ //僅需對sign做URL編碼 sign=.(sign,"UTF-8"); }catch(){ e.(); } //完整的符合支付寶參數(shù)規(guī)范的訂單信息 =+"&sign=\""+sign+"\"&" +(); =(){ @ (){ //構(gòu)造對象 =(.this); //調(diào)用支付接口,獲取支付結(jié)果 =.pay(); =(); msg.what=; msg.obj=; .(msg); } }; //必須異步調(diào)用 =(); .start(); }

    這里總是分了四步來完成支付與結(jié)果接收。 第一步:構(gòu)造定單信息:

    [java]

    =("測試的商品","該測試商品的詳細(xì)描述","0.01");

    主要是這句,即在()函數(shù)中完成定單信息的構(gòu)造:(這里對函數(shù)做的精減,更多字段及意義參考源碼)

    有關(guān)的方法使用網(wǎng)站怎么調(diào)用支付寶開發(fā)包集成,參考:

    網(wǎng)站怎么調(diào)用支付寶開發(fā)包集成_網(wǎng)站怎么調(diào)用支付寶開發(fā)包集成_網(wǎng)站如何集成支付寶

    各個字段的意義及取值參考:

    [java]

    Info(,,){ //簽約合作者身份ID ="="+"\""++"\""; //簽約賣家支付寶賬號 +="&="+"\""++"\""; //商戶網(wǎng)站唯一訂單號 +="&="+"\""+()+"\""; //商品名稱 +="&="+"\""++"\""; //商品詳情 +="&body="+"\""+body+"\""; //商品金額 +="&="+"\""+price+"\""; //服務(wù)器異步通知頁面路徑 +="&="+"\""+"" +"\""; ………… ; }

    這里就是通過我們的提供的商家ID,產(chǎn)品信息,價格等信息來構(gòu)造定單及回調(diào)頁面,這里需要非常注意的一個地方:

    [java]

    //服務(wù)器異步通知頁面路徑 +="&="+"\""+"" +"\"";

    服務(wù)器異步通知頁面路徑,首先我們用支付寶支付之后,支付寶會返回給我們兩個通知,一個是同步的,就是我們點擊支付后支付寶直接反饋給我們客戶端的信息,我們可以直接拿到,根據(jù)反饋的結(jié)果可以初步判定該次交易是否成功,第二個就是服務(wù)器異步的通知,這個異步的通知是支付寶的服務(wù)器端發(fā)給我們服務(wù)器端的信息網(wǎng)站怎么調(diào)用支付寶開發(fā)包集成,我們在客戶端是直接獲取不了的,那支付寶的服務(wù)器怎么知道我們服務(wù)器的路徑呢,那就是這參數(shù)的作用了,我們給支付寶服務(wù)器一個路徑,它就會在訂單狀態(tài)改變的時候給我們服務(wù)器端一個反饋,告訴服務(wù)器這次交易的狀態(tài),如果服務(wù)器結(jié)果判定該次交易成功了,就必須返給支付寶服務(wù)器一個,要不服務(wù)器會一直給我們異步通知,因為它不知道該次交易是否完成了(一般情況下25小時內(nèi)8次通知,頻率一般是2m 10m 10m 1h 2h 6h 15h),我們一般會在收到異步通知時,對訂單的狀態(tài)進(jìn)行更新。

    其它的就不講了,通過看源碼都能看得懂,比如構(gòu)造訂單號啥的。

    第二步:對訂單字符串做RSA簽名 為什么要簽名呢?當(dāng)然是防止傳輸出錯了,這可是跟錢相關(guān)的,如果傳輸過程中出錯了,那怎么樣來校驗它是不是出錯了呢,只有通過簽名算法來了。所以這里就需要對訂單字符串做簽名。

    具體簽名算法就不講了,直接應(yīng)用到項目中就行,不需要理解,如果想看看怎么實現(xiàn)的,里面有對應(yīng)的源碼,可以去研究一下。

    [java]

    //對訂單做RSA簽名 =sign(); try{ //僅需對sign做URL編碼 sign=.(sign,"UTF-8"); }catch(){ e.(); }

    第三步:構(gòu)造完成的請求字符串 在訂單字符串和簽名做完以后,就可以用他們來構(gòu)造完整的請求字符串了:

    [java]

    //完整的符合支付寶參數(shù)規(guī)范的訂單信息 =+"&sign=\""+sign+"\"&" +();

    第四步:請求與結(jié)果返回 最后是發(fā)送請求,代碼如下:

    [java]

    =(){ @ (){ //構(gòu)造對象 =(.this); //調(diào)用支付接口,獲取支付結(jié)果 =.pay(); =(); msg.what=; msg.obj=; .(msg); } }; //必須異步調(diào)用 =(); .start();

    最關(guān)鍵的部分在這里:

    [java]

    =(.this); //調(diào)用支付接口,獲取支付結(jié)果 =.pay(); =(); msg.what=; msg.obj=; .(msg);

    在 = .pay();中,就直接獲得了支付結(jié)果;

    然后通過將結(jié)果發(fā)送出去。

    這就是同步的方式獲取支付結(jié)果的方式。

    好了,有關(guān)支付寶對接的方法全部都在這了。至于函數(shù)里,使用的調(diào)用銀行卡支付,我覺得也沒啥用,在我們程序里也沒接上。

    本文所使用的DEMO源碼下載地址:

    如果本文有幫到你,記得加關(guān)注哦。

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有