支付寶轉賬 公鑰證書模式

2022-10-04 02:54:10 字數 3855 閱讀 9837

很久都沒有寫部落格了,一來是感覺工作中沒有接觸什麼新東西,二來也是自己變懶了,業餘時間都耗費在了休閒上面,主動學習的次數越來越少了。今天專案裡需要對接到支付寶轉賬給個人賬戶,正好以前沒有弄過,把對接步驟在此總結一下。

支付寶對接官方文件 : 

首先需要在支付寶開放平台中建立好應用,整理對接時需要的引數。

2.私鑰

3.應用公鑰證書

4.支付寶公鑰證書

5.支付寶根證書

2.把三個證書放入到專案中

3.封裝配置引數,其中支付寶閘道器是固定的,正式環境是 https://

,沙箱環境是 https://

//私鑰

@value("$")

private

string privatekey;

//引數返回格式,只支援 json(固定)。

public

static string format = "json";

//商戶生成簽名字串所使用的簽名演算法型別,目前支援 rsa2 和 rsa,推薦使用 rsa2。

public

static string sign_type = "rsa2";

//字元編碼格式

public

static string charset = "utf-8";

//轉賬成功狀態碼

public

static string success_code = "10000";

//收款方標識型別 alipay_user_id:支付寶會員的使用者 id,可通過 獲取會員資訊 能力獲取。alipay_logon_id:支付寶登入號,支援郵箱和手機號格式。

public

static string identity_type = "alipay_logonid";

//應用證書路徑

public

//公鑰證書路徑

public

static string public_cert_path = classloader.getsystemresource("alipay/alipaycertpublickey_rsa2.crt").getpath();

//支付寶根證書路徑

public

static string root_cert_path = classloader.getsystemresource("alipay/alipayrootcert.crt").getpath();

4. 傳送轉賬請求

/**

* 功能描述: 支付寶轉賬介面-公鑰證書模式

* *

@param

alipayconfig 支付寶配置

* @param

orderno 系統訂單號

* @param

account 收款方帳號

* @param

username 收款方姓名

* @param

amount 轉賬金額

* @建立人: tang

* @return

: boolean

**/public

static

boolean transfer(alipayconfig alipayconfig, string orderno, string account, string username, string amount) throws

alipayapiexception ", orderno);

//構造client

certalipayrequest certalipayrequest = new

certalipayrequest();

//設定閘道器位址

certalipayrequest.setserverurl(alipayconfig.getserverurl());

//設定應用id

//設定應用私鑰

certalipayrequest.setprivatekey(alipayconfig.getprivatekey());

//設定請求格式,固定值json

certalipayrequest.setformat(alipayconfig.format);

//設定字符集

certalipayrequest.setcharset(alipayconfig.charset);

//設定簽名型別

certalipayrequest.setsigntype(alipayconfig.sign_type);

//設定應用公鑰證書路徑

//設定支付寶公鑰證書路徑

certalipayrequest.setalipaypubliccertpath(alipayconfig.public_cert_path);

//設定支付寶根證書路徑

certalipayrequest.setrootcertpath(alipayconfig.root_cert_path);

//構造client

alipayclient alipayclient = new

defaultalipayclient(certalipayrequest);

alipayfundtranstoaccounttransferrequest request = new

alipayfundtranstoaccounttransferrequest();

alipayfundtranstoaccounttransfermodel transfermodel = new

alipayfundtranstoaccounttransfermodel();

//自身系統訂單號,

transfermodel.setoutbizno(orderno);

transfermodel.setpayeetype(alipayconfig.identity_type);

transfermodel.setpayeeaccount(account);

transfermodel.setamount(amount);

transfermodel.setpayeerealname(username);

transfermodel.setremark("提款");

request.setbizmodel(transfermodel);

log.info("支付寶轉賬請求引數 = {}", jsonobject.tojson(transfermodel));

try", jsonobject.tojson(response));

return

true

; }

else

", jsonobject.tojson(response));

return

false

; }

} catch

(alipayapiexception e) ", e.getmessage());

return

false

; }

}

至此完成 ,如果有哪說得不對的地方,歡迎指出。

支付寶證書模式(轉賬給其他支付寶)

因為支付寶的加密方式要求資金類必須用證書方式加密,所以。1.去生成crt證書 2.開始開發 初始化 證書模式 vendor alipay.aop.aopcertclient 引入sdk aop new aopcertclient alipaycertpath 支付寶公鑰證書路徑 要確保證書檔案可讀 ...

支付寶獲取私鑰和公鑰

這個時候要開啟檔名為 支付寶錢包支付介面開發包2.0標準版的檔案。開啟之後有乙個demo 檔案。裡面會有三個檔案 夾 第乙個openssl 第二個服務端demo,第三個客戶端demo.這個時候,我們需要關心的是openssl 檔案與客戶端 demo 的檔案。在第三個demo檔案中有ios 版與and...

支付寶開發轉賬介面

提現功能,需要呼叫支付寶的單筆轉賬介面。支付寶文件上邊一開始寫的是需要使用公鑰證書去請求,然而我的程式一開始寫的是使用公鑰金鑰去請求的。需要接入的話就必須修改原先的請求方式改成證書請求,修改方式會影響整個程式的支付寶請求環節。最後支付寶技術客服建議讓我去建立乙個新的應用來使用這個介面,於是終於可以開...