国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

支付寶沙箱環(huán)境+SpringBoot+內(nèi)網(wǎng)穿透整合開(kāi)發(fā)

這篇具有很好參考價(jià)值的文章主要介紹了支付寶沙箱環(huán)境+SpringBoot+內(nèi)網(wǎng)穿透整合開(kāi)發(fā)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

1.查看沙箱賬號(hào)

2.內(nèi)網(wǎng)穿透

3.沙箱環(huán)境整合SpringBoot開(kāi)發(fā)


下面我將以實(shí)際案例詳細(xì)介紹如何使用沙箱環(huán)境進(jìn)行支付寶支付對(duì)接的開(kāi)發(fā)

1.查看沙箱賬號(hào)

?首先什么是沙箱賬號(hào)?

沙箱賬號(hào)是指在支付寶沙箱環(huán)境中創(chuàng)建的測(cè)試賬戶,用于模擬真實(shí)的支付流程。在開(kāi)發(fā)和測(cè)試過(guò)程中,使用沙箱賬號(hào)可以避免真實(shí)賬戶數(shù)據(jù)的泄露和風(fēng)險(xiǎn),同時(shí)可以進(jìn)行多種測(cè)試場(chǎng)景和交易模擬,以保證應(yīng)用程序的穩(wěn)定性和可靠性。

支付寶沙箱環(huán)境中的測(cè)試賬戶和真實(shí)賬戶一樣,可以進(jìn)行支付、退款、查詢等操作。開(kāi)發(fā)人員可以通過(guò)創(chuàng)建和使用沙箱賬號(hào),進(jìn)行多種測(cè)試和調(diào)試,以保證應(yīng)用程序的正確性和穩(wěn)定性。同時(shí),沙箱賬號(hào)的創(chuàng)建和使用是免費(fèi)的,不需要任何費(fèi)用。

需要注意的是,沙箱賬號(hào)只能在支付寶沙箱環(huán)境中使用,不能在生產(chǎn)環(huán)境中使用。在將應(yīng)用程序上線之前,需要使用真實(shí)賬戶進(jìn)行測(cè)試和驗(yàn)證。

1.登錄支付寶開(kāi)放平臺(tái):https://open.alipay.com/platform/home.htm

支付寶沙箱環(huán)境+SpringBoot+內(nèi)網(wǎng)穿透整合開(kāi)發(fā)?

?2.點(diǎn)擊登錄,系統(tǒng)會(huì)彈出一個(gè)二維碼進(jìn)行掃描登錄,當(dāng)然也可以使用賬號(hào)密碼進(jìn)行登錄

3.點(diǎn)擊進(jìn)入控制臺(tái)

支付寶沙箱環(huán)境+SpringBoot+內(nèi)網(wǎng)穿透整合開(kāi)發(fā)?

4.開(kāi)發(fā)工具推薦中選擇使用沙箱環(huán)境

支付寶沙箱環(huán)境+SpringBoot+內(nèi)網(wǎng)穿透整合開(kāi)發(fā)?

5.自此完成沙箱賬號(hào)信息的查看

支付寶沙箱環(huán)境+SpringBoot+內(nèi)網(wǎng)穿透整合開(kāi)發(fā)

2.內(nèi)網(wǎng)穿透

獲取方式:電腦應(yīng)用商店搜索花生殼

網(wǎng)頁(yè)端申請(qǐng)配置:

1.需要進(jìn)行實(shí)名認(rèn)證否則用不了

2.需要花6元買(mǎi)個(gè)域名映射

支付寶沙箱環(huán)境+SpringBoot+內(nèi)網(wǎng)穿透整合開(kāi)發(fā)

?3.將ip和端口換成剛剛申請(qǐng)的域名,填入回調(diào)地址處,用于后續(xù)的支付寶系統(tǒng)回調(diào)接口

支付寶沙箱環(huán)境+SpringBoot+內(nèi)網(wǎng)穿透整合開(kāi)發(fā)

客戶端:開(kāi)啟自定義映射

支付寶沙箱環(huán)境+SpringBoot+內(nèi)網(wǎng)穿透整合開(kāi)發(fā)

下面將進(jìn)入主題,如何整合SpringBoot進(jìn)行支付開(kāi)發(fā)

3.沙箱環(huán)境整合SpringBoot開(kāi)發(fā)

?1.1.創(chuàng)建Spring Boot項(xiàng)目

可以使用Spring Initializr快速創(chuàng)建一個(gè)新項(xiàng)目也可以在maven創(chuàng)建的基礎(chǔ)上加上相關(guān)的依賴

如果您是maven創(chuàng)建的項(xiàng)目請(qǐng)加如下依賴:

 <dependencies>
        <!-- Spring Boot starter dependencies -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.5.4</version>
        </dependency>
  </dependencies>

如果是基于Spring Initializr快速創(chuàng)建一個(gè)SpringBoot項(xiàng)目則導(dǎo)入如下依賴:

2.導(dǎo)入依賴

 <dependencies>
        <!-- Other dependencies -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.26</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
        </dependency>
        <dependency>
            <groupId>com.alipay.sdk</groupId>
            <artifactId>alipay-sdk-java</artifactId>
            <version>3.0.0</version>
        </dependency>
        <!-- Fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.78</version>
        </dependency>
        <!-- slf4j -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.32</version>
        </dependency>

        <!-- JSON -->
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20210307</version>
        </dependency>
    </dependencies>

3.配置應(yīng)用程序

在application.yml文件中,我們需要添加支付寶支付的相關(guān)配置。

# 應(yīng)用ID,您的APPID,收款賬號(hào)既是您的APPID對(duì)應(yīng)支付寶賬號(hào),在沙箱應(yīng)用中獲取
appId: 
# 商戶私鑰,您的PKCS8格式RSA2私鑰,通過(guò)開(kāi)發(fā)助手生成的應(yīng)用私鑰
privateKey: 
# 支付寶公鑰,在沙箱應(yīng)用獲取,通過(guò)應(yīng)用公鑰生成支付寶公鑰
publicKey: 
# 服務(wù)器異步通知頁(yè)面路徑需http://格式的完整路徑,不能加?id=123這類(lèi)自定義參數(shù)
notifyUrl: https://7*****.zicp.fun/alipay/notify
# 頁(yè)面跳轉(zhuǎn)同步通知頁(yè)面路徑 需http://格式的完整路徑,不能加?id=123這類(lèi)自定義參數(shù)
returnUrl: https://7*****.zicp.fun/alipay/success
# 支付寶網(wǎng)關(guān),在沙箱應(yīng)用中獲取
gatewayUrl: 

?下面就上面的參數(shù)進(jìn)行說(shuō)明

支付寶沙箱環(huán)境+SpringBoot+內(nèi)網(wǎng)穿透整合開(kāi)發(fā)?

所以應(yīng)用ID、應(yīng)用私鑰和支付寶公鑰可以在支付寶開(kāi)放平臺(tái)上獲取。gateway-url是支付寶支付接口的地址,return-url和notify-url是支付完成后跳轉(zhuǎn)的地址和支付結(jié)果通知地址。

4.創(chuàng)建支付服務(wù)

接下來(lái),創(chuàng)建一個(gè)支付服務(wù)類(lèi),用于處理支付請(qǐng)求和支付結(jié)果通知。在創(chuàng)建支付服務(wù)之前,我要先創(chuàng)建一個(gè)AlipayClient對(duì)象,用于調(diào)用支付寶支付接口。

@Configuration
public class AlipayConfig {
  //獲取配置文件中的配置信息
    //應(yīng)用ID,您的APPID,收款賬號(hào)既是您的APPID對(duì)應(yīng)支付寶賬號(hào)
    @Value("${appId}")
    private String appId;

    //商戶私鑰 您的PKCS8格式RSA2私鑰
    @Value("${privateKey}")
    private String privateKey;

    //支付寶公鑰
    @Value("${publicKey}")
    private String publicKey;

    //支付寶網(wǎng)關(guān)
    @Value("${gatewayUrl}")
    private String gatewayUrl;

 @Bean
    public AlipayClient alipayClient() {
        return new DefaultAlipayClient(gatewayUrl, appId, privateKey, "json", "UTF-8", publicKey, "RSA2");
    }
}

再創(chuàng)建一個(gè)支付服務(wù),用于處理支付請(qǐng)求和支付結(jié)果通知。

@Service
public class AlipayService {
    @Autowired
    private AlipayClient alipayClient;

      //服務(wù)器異步通知頁(yè)面路徑
    @Value("${notifyUrl}")
    private String notifyUrl;

    //頁(yè)面跳轉(zhuǎn)同步通知頁(yè)面路徑
    @Value("${returnUrl}")
    private String returnUrl;

    /**
     * 發(fā)起支付請(qǐng)求
     * @param order 訂單信息
     * @return 支付頁(yè)面HTML代碼
     */
    public String pay(Order order) {
        AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
        request.setReturnUrl(returnUrl);
        request.setNotifyUrl(notifyUrl);

        Map<String, Object> params = new HashMap<>();
        params.put("out_trade_no", order.getOrderId());
        params.put("total_amount", order.getTotalAmount());
        params.put("subject", order.getSubject());
        params.put("body", order.getBody());
        params.put("product_code", "FAST_INSTANT_TRADE_PAY");

        request.setBizContent(JSON.toJSONString(params));

        try {
            AlipayTradePagePayResponse response = alipayClient.pageExecute(request);
            return response.getBody();
        } catch (AlipayApiException e) {
            throw new RuntimeException("支付寶支付失敗", e);
        }
    }

    /**
     * 處理支付結(jié)果通知
     *
     * @param request 支付結(jié)果通知參數(shù)
     * @return 處理結(jié)果
     */
    public String notify(HttpServletRequest request) throws AlipayApiException {
           log.info("異步回調(diào)");
        Map<String, String> params = new HashMap<String, String>();
        Map<String, String[]> requestParams = request.getParameterMap();
        for (Iterator<String> iter = requestParams.keySet().iterator(); iter.hasNext(); ) {
            String name = iter.next();
            String[] values = requestParams.get(name);
            StringBuilder valueStr = new StringBuilder();
            for (int i = 0; i < values.length; i++) {
                valueStr.append((i == values.length - 1) ? values[i] : values[i] + ",");
            }
            params.put(name, valueStr.toString());
        }

        log.info("請(qǐng)求參數(shù)的傳入:" + params);
        String tradeStatus = params.get("trade_status");
        log.info("tradeStatus:" + tradeStatus);
        String outTradeNo = params.get("out_trade_no");
        log.info("outTradeNo:" + outTradeNo);
        String totalAmount = params.get("total_amount");
        log.info("totalAmount:" + totalAmount);
//
//        // 從數(shù)據(jù)庫(kù)中查詢訂單信息
//        Order order = orderService.findByOutTradeNo(outTradeNo);

        // 驗(yàn)證通知是否來(lái)自支付寶服務(wù)器
        if (!AlipaySignature.rsaCheckV1(params, publicKey, charset, signType)) {
            return "fail";
        }

        // 驗(yàn)證交易狀態(tài)和訂單金額等信息
//            if (!"TRADE_SUCCESS".equals(tradeStatus) || !totalAmount.equals(order.getTotalAmount().toString())) {
        if (!"TRADE_SUCCESS".equals(tradeStatus)) {
            return "fail";
        }

        // 根據(jù)交易狀態(tài)進(jìn)行業(yè)務(wù)處理
        switch (tradeStatus) {
            case "TRADE_SUCCESS":
                // 更新訂單狀態(tài)、發(fā)貨等操作
                break;
            case "TRADE_CLOSED":
                // 訂單關(guān)閉處理
                break;
            default:
                // 其他狀態(tài)處理
                break;
        }

        return "success";
        }

    public String success(HttpServletRequest request) throws AlipayApiException, UnsupportedEncodingException {
        log.info("=================同步回調(diào)======================");
        // 獲取支付寶GET過(guò)來(lái)反饋信息
        Map<String, String> params = new HashMap<String, String>();
        Map<String, String[]> requestParams = request.getParameterMap();
        for (Iterator<String> iter = requestParams.keySet().iterator(); iter.hasNext(); ) {
            String name = (String) iter.next();
            String[] values = (String[]) requestParams.get(name);
            String valueStr = "";
            for (int i = 0; i < values.length; i++) {
                valueStr = (i == values.length - 1) ? valueStr + values[i] : valueStr + values[i] + ",";
            }
            // 亂碼解決,這段代碼在出現(xiàn)亂碼時(shí)使用
            valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
            params.put(name, valueStr);
        }
        log.info("支付寶平臺(tái)同步回調(diào)傳入的參數(shù):" + params);
        //驗(yàn)證簽名(支付寶公鑰)
        boolean signVerified = AlipaySignature.rsaCheckV1(params, publicKey, charset, signType); // 調(diào)用SDK驗(yàn)證簽名
        //驗(yàn)證簽名通過(guò)
        if (signVerified) {
            // 商戶訂單號(hào)
            String out_trade_no = new String(request.getParameter("out_trade_no").getBytes("ISO-8859-1"), "UTF-8");

            // 支付寶交易流水號(hào)
            String trade_no = new String(request.getParameter("trade_no").getBytes("ISO-8859-1"), "UTF-8");

            // 付款金額
            float money = Float.parseFloat(new String(request.getParameter("total_amount").getBytes("ISO-8859-1"), "UTF-8"));

            log.info("商戶訂單號(hào)=" + out_trade_no);
            log.info("支付寶交易號(hào)=" + trade_no);
            log.info("付款金額=" + money);

            //在這里編寫(xiě)自己的業(yè)務(wù)代碼(對(duì)數(shù)據(jù)庫(kù)的操作)
			/*
			################################
			*/
            //跳轉(zhuǎn)到提示頁(yè)面(成功或者失敗的提示頁(yè)面)
            return "交易成功!";
        } else {
            //跳轉(zhuǎn)到提示頁(yè)面(成功或者失敗的提示頁(yè)面)
            return "交易失??!";
        }
    }
}

在AlipayService類(lèi)中,我們使用@Autowired注解注入AlipayClient對(duì)象,并使用@Value注解注入支付寶支付的相關(guān)配置。

pay方法用于發(fā)起支付請(qǐng)求,首先創(chuàng)建一個(gè)AlipayTradePagePayRequest對(duì)象,設(shè)置returnUrl和notifyUrl,然后將訂單信息封裝成一個(gè)Map對(duì)象調(diào)用alipayClient的pageExecute方法發(fā)起支付請(qǐng)求,并返回支付頁(yè)面的HTML代碼。

notify方法用于處理支付結(jié)果通知,首先使用AlipaySignature.rsaCheckV1方法驗(yàn)證支付結(jié)果通知的簽名,然后根據(jù)支付結(jié)果更新訂單狀態(tài)。

success方法也是如此,但是開(kāi)發(fā)中用notify異步處理效率更高一些。

?5.5.創(chuàng)建支付控制器

創(chuàng)建一個(gè)支付控制器,用于處理支付請(qǐng)求和支付結(jié)果通知。

@Controller
@RequestMapping("/alipay")
public class AlipayController {
    @Autowired
    private AlipayService alipayService;

    /**
     * 發(fā)起支付請(qǐng)求
     * @param order 訂單信息
     * @return 支付頁(yè)面HTML代碼
     */
    @RequestMapping("/pay")
    @ResponseBody
    public String pay(Order order) {
        return alipayService.pay(order);
    }

     /**
     * 處理支付結(jié)果通知
     * @param request 支付結(jié)果通知參數(shù)
     * @return 處理結(jié)果
     */
    @PostMapping("/notify")
    @ResponseBody
    public String notify(@RequestParam HttpServletRequest request) throws AlipayApiException {
        return alipayService.notify(request);
    }

    /**
     * 支付完成后跳轉(zhuǎn)回商戶網(wǎng)站的地址
     *
     * @return 跳轉(zhuǎn)頁(yè)面
     */
    @RequestMapping("/success")
    @ResponseBody
    public String success(HttpServletRequest request) throws UnsupportedEncodingException, AlipayApiException {
        return alipayService.success(request);
    }
//根據(jù)自己的實(shí)際業(yè)務(wù)選擇是同步處理還是異步處理
}

在AlipayController類(lèi)中,我們使用@Autowired注解注入AlipayService對(duì)象,并創(chuàng)建pay、notify和returnUrl三個(gè)方法,分別用于處理支付請(qǐng)求、支付結(jié)果通知和支付完成后跳轉(zhuǎn)回商戶網(wǎng)站的地址。?

? ? ? ? 這里需要注意的是,只有當(dāng)方法的返回值類(lèi)型為voidString時(shí),才需要使用@ResponseBody注解。如果方法的返回值類(lèi)型為其他類(lèi)型(如對(duì)象、集合等),Spring MVC會(huì)自動(dòng)將其轉(zhuǎn)換為JSON或XML格式的數(shù)據(jù)并返回給客戶端,無(wú)需使用@ResponseBody注解。

?6.測(cè)試支付功能

現(xiàn)在,我們已經(jīng)完成了支付寶支付的整合,可以通過(guò)調(diào)用支付控制器中的pay方法發(fā)起支付請(qǐng)求,并在支付完成后處理支付結(jié)果通知和支付完成后跳轉(zhuǎn)回商戶網(wǎng)站的地址。

可以通過(guò)Postman等工具模擬支付請(qǐng)求,或者在網(wǎng)站上添加一個(gè)支付按鈕,點(diǎn)擊按鈕后跳轉(zhuǎn)到支付頁(yè)面完成支付。

在網(wǎng)站上面添加一個(gè)支付按鈕

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="/alipay/pay" method="post">
    訂單號(hào):<input type="text" name="out_trade_no" required><br/>
    訂單名稱:<input type="text" name="subject" required><br/>
    付款金額:<input type="text" name="total_amount" required><br/>
    商品描述:<input type="text" name="body"><br/>
    <input type="submit" value="下單"> <input type="reset" value="重置">
</form>

</body>
</html>

瀏覽器地址欄輸入:http://localhost:8081/

支付寶沙箱環(huán)境+SpringBoot+內(nèi)網(wǎng)穿透整合開(kāi)發(fā)輸入支付賬號(hào)和支付密碼即可完成支付

支付寶沙箱環(huán)境+SpringBoot+內(nèi)網(wǎng)穿透整合開(kāi)發(fā)

? ? ? ? ? ? ? ? ? ? ?支付寶沙箱環(huán)境+SpringBoot+內(nèi)網(wǎng)穿透整合開(kāi)發(fā)完美收官!

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 有任何問(wèn)題隨時(shí)私信我!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-413674.html

到了這里,關(guān)于支付寶沙箱環(huán)境+SpringBoot+內(nèi)網(wǎng)穿透整合開(kāi)發(fā)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 支付寶沙箱環(huán)境配置結(jié)合內(nèi)網(wǎng)穿透實(shí)現(xiàn)遠(yuǎn)程調(diào)試Java SDK接口

    支付寶沙箱環(huán)境配置結(jié)合內(nèi)網(wǎng)穿透實(shí)現(xiàn)遠(yuǎn)程調(diào)試Java SDK接口

    1.測(cè)試環(huán)境 Maven Spring boot Jdk 1.8 2.本地配置 獲取支付寶支付Java SDK,maven項(xiàng)目可以選擇maven版本,普通java項(xiàng)目可以在GitHub下載,這里以maven為例 SDK下載地址:https://doc.open.alipay.com/docs/doc.htm?treeId=193articleId=103419docType=1 選擇最新版的SDK版本 復(fù)制maven坐標(biāo),導(dǎo)入spring boot項(xiàng)目pom 文件里面

    2024年02月04日
    瀏覽(27)
  • SpringBoot項(xiàng)目(支付寶整合)——springboot整合支付寶沙箱支付 & 從極簡(jiǎn)實(shí)現(xiàn)到IOC改進(jìn)

    SpringBoot項(xiàng)目(支付寶整合)——springboot整合支付寶沙箱支付 & 從極簡(jiǎn)實(shí)現(xiàn)到IOC改進(jìn)

    1.springboot整合支付寶沙箱支付; 2.準(zhǔn)備工作:沙箱api,內(nèi)網(wǎng)穿透; 3.極簡(jiǎn)實(shí)現(xiàn)理解支付,異步回調(diào)等; 4.按照spring依賴注入的思想改造基礎(chǔ)demo; https://gitee.com/pet365/springboot-alipay 支付寶開(kāi)放平臺(tái) (alipay.com) 支付參數(shù) natapp.cn官網(wǎng) 啟動(dòng)和配置 訂單ID,需要唯一;價(jià)格;物品名稱(

    2024年02月11日
    瀏覽(25)
  • Spring Boot 整合支付寶實(shí)現(xiàn)在線支付方案(沙箱環(huán)境)

    Spring Boot 整合支付寶實(shí)現(xiàn)在線支付方案(沙箱環(huán)境)

    TIP:對(duì)于許多個(gè)人開(kāi)發(fā)者而言,實(shí)現(xiàn)支付寶支付功能在以往往往意味著需要跨越復(fù)雜的商業(yè)流程。這涉及到擁有自己的網(wǎng)站及其備案,以及提交營(yíng)業(yè)執(zhí)照等一系列文檔。但現(xiàn)在,支付寶開(kāi)放平臺(tái)帶來(lái)了突破性的便利——通過(guò)沙箱環(huán)境,個(gè)人僅需擁有支付寶賬號(hào),就能夠測(cè)試并

    2024年01月16日
    瀏覽(94)
  • springboot實(shí)現(xiàn)支付寶支付(沙箱環(huán)境)

    springboot實(shí)現(xiàn)支付寶支付(沙箱環(huán)境)

    進(jìn)入支付寶控制臺(tái):https://open.alipay.com/develop/manage 找到沙箱 這里可以看到 應(yīng)用id 可以看到 應(yīng)用私鑰 和 支付寶公鑰 ,獲取這三后就可以開(kāi)始敲代碼了 依賴: 在resources/templates目錄下創(chuàng)建一個(gè)pay.html文件,用于展示支付寶支付頁(yè)面。 創(chuàng)建同步通知頁(yè)面 在resources/templates目錄下創(chuàng)建

    2024年02月08日
    瀏覽(16)
  • Java開(kāi)發(fā)者必備:支付寶沙箱環(huán)境支付遠(yuǎn)程調(diào)試指南

    Java開(kāi)發(fā)者必備:支付寶沙箱環(huán)境支付遠(yuǎn)程調(diào)試指南

    ?? 博客主頁(yè) : 小羊失眠啦. ?? 系列專欄 : C語(yǔ)言 、 Linux 、 Cpolar ?? 感謝大家點(diǎn)贊??收藏?評(píng)論?? 前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站。 在沙箱環(huán)境調(diào)試支付SDK的時(shí)候,往往沙箱環(huán)境部署在本地

    2024年02月08日
    瀏覽(25)
  • SpringBoot+支付寶支付(沙箱)

    SpringBoot+支付寶支付(沙箱)

    easy支付官方文檔: 工具 | 網(wǎng)頁(yè)移動(dòng)應(yīng)用 通用版文檔: 通用版 | 網(wǎng)頁(yè)移動(dòng)應(yīng)用 有基礎(chǔ)的可以直接看文檔自己搭建,官方文檔寫(xiě)的很詳細(xì)。 支付寶沙箱配置 1、注冊(cè)支付寶開(kāi)發(fā)者賬戶,進(jìn)入開(kāi)發(fā)者控制臺(tái) (有支付寶賬戶的直接支付寶掃碼登入即可) 支付寶開(kāi)放平臺(tái) ? htt

    2024年02月06日
    瀏覽(20)
  • springboot整合pi支付開(kāi)發(fā)

    springboot整合pi支付開(kāi)發(fā)

    pi支付流程圖: 使用Pi SDK功能發(fā)起支付 由 Pi SDK 自動(dòng)調(diào)用的回調(diào)函數(shù)(讓您的應(yīng)用服務(wù)器知道它需要發(fā)出批準(zhǔn) API 請(qǐng)求) 從您的應(yīng)用程序服務(wù)器到 Pi 服務(wù)器的 API 請(qǐng)求以批準(zhǔn)付款(讓 Pi 服務(wù)器知道您知道此付款) Pi瀏覽器向用戶顯示付款詳細(xì)信息頁(yè)面,我們正在等待用戶簽署

    2024年02月07日
    瀏覽(21)
  • 支付寶手機(jī)網(wǎng)站支付接入(沙箱環(huán)境)

    支付寶手機(jī)網(wǎng)站支付接入(沙箱環(huán)境)

    參考阿里云文檔:https://docs.open.alipay.com/203/105285/ 手機(jī)網(wǎng)站支付產(chǎn)品包含兩類(lèi)API: 頁(yè)面跳轉(zhuǎn)類(lèi):需要從前端頁(yè)面以Form表單的形式發(fā)起請(qǐng)求,瀏覽器會(huì)自動(dòng)跳轉(zhuǎn)至支付寶的相關(guān)頁(yè)面(一般是收銀臺(tái)或簽約頁(yè)面),用戶在該頁(yè)面完成相關(guān)業(yè)務(wù)操作后再回跳到商戶指定頁(yè)面。例如本

    2024年02月08日
    瀏覽(24)
  • Springboot支付寶沙箱支付---完整詳細(xì)步驟

    Springboot支付寶沙箱支付---完整詳細(xì)步驟

    不經(jīng)??聪⒑驮u(píng)論,代碼和數(shù)據(jù)庫(kù)已上傳至gitee 項(xiàng)目源碼 沙箱環(huán)境-支付寶文檔中心 1.1、進(jìn)入個(gè)人沙箱環(huán)境 點(diǎn)擊進(jìn)入沙箱環(huán)境并用支付寶登陸 沙箱管理界面如圖所示 appid,支付寶網(wǎng)關(guān),自定義密鑰等 這里是沙箱支付寶(虛擬)的賬號(hào)和密碼,可以用來(lái)支付 1.2、接下來(lái)進(jìn)行

    2023年04月25日
    瀏覽(26)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包