HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    個人對接支付寶支付的接口(個人接入支付寶接口)

    發(fā)布時間:2023-03-22 17:42:40     稿源: 創(chuàng)意嶺    閱讀: 1247        問大家

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于個人對接支付寶支付的接口的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com,如需咨詢相關(guān)業(yè)務(wù)請撥打175-8598-2043,或微信:1454722008

    本文目錄:

    個人對接支付寶支付的接口(個人接入支付寶接口)

    一、接入支付寶支付SDK

    接入支付寶支付SDK

    可以說支付寶支付接入是所有SDK最好接入的,沒有之一。

    客戶端不用簽名,也不用管包名,也不用管簽名文件,就接口返回訂單,把訂單交給支付寶SDK調(diào)用就行,成功或者失敗都在當(dāng)前界面返回給你。你再去通知接口。

    支付流程圖

    官方文檔地址

    !支付寶支付官方文檔地址

    按照文檔說明接入SDK和相關(guān)配置,在這就不重復(fù)了

    客戶端支付關(guān)鍵代碼===》支付接口的調(diào)用(調(diào)起支付彈框)

    記住支付接口的調(diào)用必須在獨(dú)立的非ui線程中執(zhí)行,即需新開線程里面調(diào)用??梢韵牍俜絛emo一樣用new Thread方式。

    下面我給出用Observable方式示例代碼

    在PayUtils中

    /**

    * desc:支付寶支付

    * Created by congge on 2018/8/27 17:20

    * @param orderInfo 接口返回的訂單

    **/

    public static void aliPay(final Activity activity, final String orderInfo, final OrderListener orderListener) {

    Observable.just(orderInfo)

    .map(new Function () {

    @Override

    public String apply(String orderInfo) throws Exception {

    //用戶在商戶app內(nèi)部點(diǎn)擊付款,是否需要一個loading做為在錢包喚起之前的過渡,這個值設(shè)置為true

    return new PayTask(activity).pay(orderInfo, true);

    }

    })

    .subscribeOn(Schedulers.io())

    .observeOn(AndroidSchedulers.mainThread())

    .subscribe(new Consumer () {

    @Override

    public void accept(String payResult) throws Exception {

    orderListener.onPayResult(payResult);

    }

    });

    }

    支付結(jié)果返回處理

    返回例子:

    resultStatus={9000};memo={};result={{"alipay_trade_app_pay_response":{"code":"10000","msg":"Success","app_id":"2016091300503896","auth_app_id":"2016091300503896","charset":"utf-8","timestamp":"2018-08-28 17:51:11","out_trade_no":"nVElbd74TW6WnEyxQwvX8A","total_amount":"0.01","trade_no":"2018082821001004680500208879","seller_id":"2088102175487650"},"sign":"W0Hg9k4GxL8Oaxymvqk2i65WNDQxYp6HGve32ek6VjSRnymmI3GQTjpQVbZuDzvjcwQ/HIkM97PoBGAVlTmi/wiJcqDgSSDzDY7AFnNN0OcK0ehWGwKQINA4IDGh51A7yY/vYKmR0VW+2OwGhlRPPMMZtQOEqh8a9/aIijzT6ZLwy9Hl4ayG/fVKhdC1VdckF6+C25BFNp3fIxarg5tfEunm7N9iWngKCUsnP+IZz05OHdvynimgYPcBnbBERHG97GVqRT/EdBWTQyIDMc0LemScAYxJixTVgXDkRddQjzWZ7HgLdBfjs0nXY24puHudT76ERxVY+8NkoKle/QI+FA==","sign_type":"RSA2"}}

    也可以自己打log看看

    處理示例代碼:

    //支付寶支付

    PayUtils.aliPay(this, result.getSignDataStr(), new PayUtils.OrderListener() {

    @Override

    public void onPayResult(String payResult) {

    PayResult pr = new PayResult(payResult);

    String rs = pr.getResultStatus();

    String r = pr.getResult();

    switch (rs) {

    case AliPayResultStatus.PAY_SUCCESS:

    ToastUtils.show(R.string.pay_success);

    //通知接口支付成功

    break;

    case AliPayResultStatus.PAY_PROCESSING:

    case AliPayResultStatus.PAY_UNKNOWN:

    ToastUtils.show(R.string.pay_fail);

    //支付可能成功,要接口去查詢

    break;

    default:

    ToastUtils.show(R.string.pay_fail);

    //通知接口支付失敗,取消訂單

    }

    }

    });

    上面方法中:

    //通知接口支付成功 //支付可能成功,要接口去查詢 //通知接口支付失敗,取消訂單。根據(jù)你產(chǎn)品需求要不要通知你服務(wù)器做的操作。正常是要的,用來改變訂單狀態(tài)

    PayResult.class

    public class PayResult {

    private String resultStatus;

    private String result;

    private String memo;

    public PayResult(String rawResult) {

    if (TextUtils.isEmpty(rawResult))

    return;

    String[] resultParams = rawResult.split(";");

    for (String resultParam : resultParams) {

    if (resultParam.startsWith("resultStatus")) {

    resultStatus = gatValue(resultParam, "resultStatus");

    }

    if (resultParam.startsWith("result")) {

    result = gatValue(resultParam, "result");

    }

    if (resultParam.startsWith("memo")) {

    memo = gatValue(resultParam, "memo");

    }

    }

    }

    @Override

    public String toString() {

    return "resultStatus={" + resultStatus + "};memo={" + memo

    + "};result={" + result + "}";

    }

    private String gatValue(String content, String key) {

    String prefix = key + "={";

    return content.substring(content.indexOf(prefix) + prefix.length(),

    content.lastIndexOf("}"));

    }

    public String outOrder() {

    String order = ""out_trade_no"";

    if (result.contains(order)) {

    String begin = result.substring(result.indexOf(order));

    String ss = begin.split(",")[0];

    String newS = ss.replace(""", "")

    .replace("}", "")

    .replace(":", "")

    .replace("out_trade_no", "");

    try {

    return newS;

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    return "";

    }

    /**

    * @return the resultStatus

    */

    public String getResultStatus() {

    return resultStatus;

    }

    /**

    * @return the memo

    */

    public String getMemo() {

    return memo;

    }

    /**

    * @return the result

    */

    public String getResult() {

    return result;

    }}

    最后給下支付返回碼表

    AliPayResultStatus.class

    public class AliPayResultStatus {

    /**

    * 訂單支付成功,唯一肯定是支付成功的

    */

    public static final String PAY_SUCCESS = "9000";

    /**

    * 正在處理中,支付結(jié)果未知(有可能已經(jīng)支付成功),請查詢商戶訂單列表中訂單的支付狀態(tài)

    */

    public static final String PAY_PROCESSING = "8000";

    /**

    * 訂單支付失敗

    */

    public static final String PAY_FAIL = "4000";

    /**

    * 重復(fù)請求

    */

    public static final String PAY_REPEAT = "5000";

    /**

    * 用戶中途取消

    */

    public static final String PAY_PROCESS_CANCEL = "6001";

    /**

    * 網(wǎng)絡(luò)連接出錯

    */

    public static final String PAY_NET_ERROR = "6002";

    /**

    * 支付結(jié)果未知(有可能已經(jīng)支付成功),請查詢商戶訂單列表中訂單的支付狀態(tài)

    */

    public static final String PAY_UNKNOWN = "6004";}

    還有一個直接棄用沙箱調(diào)試模式,否則提示支付失敗也有可能不知道錯在那,怕金額大,和接口商量,測試服務(wù)器就用0.01測試。

    二、如何把支付寶接口集成到個人網(wǎng)站

    具體操作流程如下。

    1,注冊支付寶,成功后去支付寶網(wǎng)站簽約,要有自己的網(wǎng)站,并且已經(jīng)備案。

    2,若簽約成功,支付寶會提供支付接口。

    3,支付寶會按比例在你的收入中提取手續(xù)費(fèi),大約4%。

    三、個人想申請支付寶微信支付接口

    不可以,支付接口都需要企業(yè)認(rèn)證的,你可以借用別人的,個人是無法申請的。

    四、個人如何申請支付寶即時到帳接口

    支付寶現(xiàn)在只提供支付寶轉(zhuǎn)支付寶的即時到賬功能,這個是不需要申請的。

    支付寶轉(zhuǎn)銀行卡:

    1、

    電腦操作可選2小時到賬或次日到賬。

    2、手機(jī)客戶端操作則是2小時或次日,視收款銀行定。

    支付寶要等到賬后一兩個小時才顯示到賬。

    以上就是關(guān)于個人對接支付寶支付的接口相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    個人如何注冊小程序(個人如何注冊小程序賬號)

    個人簡介如何寫(個人簡介如何寫200字)

    個人ip全稱(個人ip的全稱)

    GPT是什么

    抖音pc端如何添加商品鏈接(抖音pc端如何添加商品鏈接視頻)