paypal国际支付——SpringBoot

本文详细介绍了如何在SpringBoot项目中集成PayPal支付。从创建PayPal账户和应用,配置客户端ID和Secret,设置沙箱与正式环境,到业务层处理,包括Controller、Service和ServiceImpl的实现。此外,还讲解了创建支付请求页面,支付成功与失败的处理,以及测试账户的创建。最后,阐述了项目上线的步骤,如何切换到正式环境。
摘要由CSDN通过智能技术生成

一、登录paypal官网,创建账户,创建项目,获取到Client ID,Secret

https://developer.paypal.com/developer/applications/

创建APP

获取到Client ID,Secret

二、配置类

1、在yml中增加Client ID,Secret,mode。mode表示沙箱(sandbox)还是正式环境(live)

PayPal:
  ClientID:  #程序ID
  Secret: #密钥
  mode: sandbox
  successUrl: http://域名/gateway/paypal/success #支付成功后请求的回调
  cancelUrl: http://域名/gateway/paypal/cancel #支付失败后请求的回调

2、引入paypal的maven环境的sdk

        <dependency>
            <groupId>com.paypal.sdk</groupId>
            <artifactId>rest-api-sdk</artifactId>
            <version>1.4.2</version>
        </dependency>

3、增加配置类

package com.app.configuration;

import java.util.HashMap;
import java.util.Map;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.paypal.base.rest.APIContext;
import com.paypal.base.rest.OAuthTokenCredential;
import com.paypal.base.rest.PayPalRESTException;

/**
 * paypal
 */

@Configuration
public class PaypalConfig {
    @Value("${PayPal.ClientID}")
    private String clientId;
    @Value("${PayPal.Secret}")
    private String clientSecret;
    @Value("${PayPal.mode}")
    private String mode;

    @Bean
    public Map<String, String> paypalSdkConfig(){
        Map<String, String> sdkConfig = new HashMap<>();
        sdkConfig.put("mode", mode);
        return sdkConfig;
    }

    @Bean
    public OAuthTokenCredential authTokenCredential(){
        return new OAuthTokenCredential(clientId, clientSecret, paypalSdkConfig());
    }

    @Bean
    public APIContext apiContext() throws PayPalRESTException{
        APIContext apiContext = new APIContext(authTokenCredential().getAccessToken());
        apiContext.setConfigurationMap(paypalSdkConfig());
        return apiContext;
    }
}

三、进行业务层处理

1、controller

package com.app.controller.gateway;


import javax.servlet.http.HttpServletRequest;

import com.yaan.youqi.app.component.OrderNotify;
import com.yaan.youqi.app.service.NotifyService;
import com.yaan.youqi.pay.service.PayPalService;
impor
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值