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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 支付宝 40247,支付宝 app支付异常摘记 -- ALI40247

發布時間:2023/12/19 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 支付宝 40247,支付宝 app支付异常摘记 -- ALI40247 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一. 支付

1. 系統繁忙,請稍后重試。(ALI40247): 簽名錯誤。

我的問題來源(兩個問題):

① 簽名串sign=簽名串,這個簽名串是不帶雙引號的,我不小心兩頭有雙引號;

② 簽名流程是:

△ 1. 請求參數按照key=value&key=value方式拼接的未簽名原始字符串;

△ 2. 再對原始字符串進行簽名,參考 簽名規則;

△ 3. 最后對請求字符串的所有一級value(biz_content作為一個value)進行encode,編碼格式按請求串中的charset為準,沒傳charset按UTF-8處理,獲得最終的請求字符串;

簽名之后給value進行URL編碼之前,是不需要進行任何編碼的,我不小心在這之前給簽名穿進行了URL編碼,最后相當于簽名串URL編碼了兩次;

注意:biz_content中的json串不需要進行排序;

2. app調起支付,輸入密碼之后,提示:暫時無法獲取訂單信息,請稍后重試。

查找資料應該是簽名過了,需要換換更高版本的SDK。

http://www.cocoachina.com/bbs/read.php?tid-1692932.html

支付寶升級過sdk,換上最新的sdk,sdk調用也需要更改下,以android為例:

// 構造PayTask 對象

PayTask alipay = new PayTask(PayDemoActivity.this);

// 調用支付接口,獲取支付結果

String result = alipay.pay(payInfo, true);

更新為

PayTask alipay = new PayTask(PayDemoActivity.this);

Map result = alipay.payV2(orderInfo, true);

1

2

到這里,我的問題還是沒有解決,依舊是 暫時無法獲取訂單信息,請稍后重試,后來檢查配置的時候,發現原來是配置錯了,兩個支付寶商戶號,A簽約的是移動支付的,B簽約的是app支付的,一直報錯是配了移動支付的A配置,到這里猜測下錯誤信息的意思,錯誤信息中的訂單信息可能是商戶與支付寶的簽約訂單,而非商戶自己的訂單,而A配置是沒有簽約app支付的,是沒有權限使用支付2.0的接口;

3. app調起支付,輸入密碼之后,提示:系統太忙了,請稍后重來(T8912)。

問題:支付寶訂單超時關閉了,超過了支付寶發起支付時候的超時時間。

二. app支付成功之后異步回調驗簽

1. 簽名錯誤:

我驗簽失敗是因為把支付寶的公鑰弄錯了,應該下圖指的位置的公鑰(開放平臺密鑰)。

(圖片所在網頁地址,https://openhome.alipay.com/platform/keyManage.htm)

順便說明下:移動支付和app支付異步回調的驗簽規則一模一樣,兩者通用,但是,兩者的公鑰是不同的,簽約app支付的商戶也可以用移動支付付款,但是移動支付驗簽的密鑰是從下圖指定的地方獲取(合作伙伴密鑰)。

到這里,我已經懵圈了。

還有移動支付和app支付的異步通知的數據,同一意思的字段兩個的key不一樣,比如:訂單金額,移動支付里面是‘total_fee’表示,app支付是‘total_amount’表示,其他的字段也有不一樣的,這里不一一舉例。

三. 退款

退款的簽名算法與支付的是一樣的。

1. 撤銷或退款金額與訂單金額不一致

{

"code":"40004",

"msg":"Business Failed",

"sub_code":"ACQ.REFUND_AMT_NOT_EQUAL_TOTAL",

"sub_msg":"撤銷或退款金額與訂單金額不一致",

"out_trade_no":"2016101413332343230",

"refund_fee":"0.00",

"send_back_fee":"0.00"

}

退款的請求參數中,有個參數:out_request_no,標識一次退款請求,參數要求是,如果不填寫該參數,表示是交易全額退款,如果同一筆交易多次退款需要保證唯一,如需部分退款,則此參數必傳。

我的問題是忘記填寫該參數了,然后又是部分退款,相當于全額退款,那么退款金額與訂單金額不一致了,然后同一筆交易多次退款需要保證唯一的問題,一筆交易分多次退款,每次的退款號要唯一。

————————————————

版權聲明:本文為CSDN博主「金一白」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/luojinbai/article/details/52753660

標簽:支付寶,--,app,訂單,簽名,支付,摘記,退款

來源: https://www.cnblogs.com/Alex80/p/14764707.html

總結

以上是生活随笔為你收集整理的android 支付宝 40247,支付宝 app支付异常摘记 -- ALI40247的全部內容,希望文章能夠幫你解決所遇到的問題。

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