实现支付宝支付alipay

本文档介绍了如何注册成为支付宝商家并申请线上支付功能,接着详细讲解如何在Java环境中进行开发,包括配置bean包、设置config以及编写controller来实现支付接口。
摘要由CSDN通过智能技术生成

注册成为支付宝商家-申请线上支付-通过就可以开发了
bean包

package com.cn.bean;

import com.alibaba.fastjson.JSON;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayTradePagePayRequest;
import com.cn.jll.dajiaxinfu.order.pay.alipay.config.AlipayConfig;
import org.springframework.stereotype.Component;

/**
 * 支付宝支付接口
 */
@Component
public class Alipay {
   
    
    /**
     * 支付接口
     * @param alipayBean
     * @return
     */
    public String pay(AlipayBean alipayBean) throws AlipayApiException {
   
        // 1、获得初始化的AlipayClient
        String serverUrl = AlipayConfig.gatewayUrl;
        String appId = AlipayConfig.app_id;
        String privateKey = AlipayConfig.merchant_private_key;
        String format = "json";
        String charset = AlipayConfig.charset;
        String alipayPublicKey = AlipayConfig.alipay_public_key;
        String signType = AlipayConfig.sign_type;
        String returnUrl = AlipayConfig.return_url;
        String notifyUrl = AlipayConfig.notify_url;
        AlipayClient alipayClient = new DefaultAlipayClient(serverUrl, appId, privateKey, format, charset, alipayPublicKey, signType);
        // 2、设置请求参数
        AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
        // 页面跳转同步通知页面路径
        alipayRequest.setReturnUrl(returnUrl);
        // 服务器异步通知页面路径
        alipayRequest.setNotifyUrl(notifyUrl);
        // 封装参数
        alipayRequest.setBizContent(JSON.toJSONString(alipayBean));
        // 3、请求支付宝进行付款,并获取支付结果
        String result = alipayClient.pageExecute(alipayRequest).getBody();
        // 返回付款信息
        return result;
    }
}
package com.cn.bean;

/**
 * 支付实体对象
 * 根据支付宝接口协议,其中的属性名,必须使用下划线,不能修改
 */
public class AlipayBean {
   
    
    /**
     * 商户订单号,必填
     * 
     */
    private String out_trade_no;
    /**
     * 订单名称,必填
     */
    private String subject;
    /**
     * 付款金额,必填
     * 根据支付宝接口协议,必须使用下划线
     */
    private String total_amount;
    /**
     * 商品描述,可空
     */
    private String body;
    /**
     * 超时时间参数
     */
    private String timeout_express= "10m";
    /**
     * 产品编号
     */
    private String product_code= "FAST_INSTANT_TRADE_PAY";

    public String getOut_trade_no() {
   
        return out_trade_no;
    }
    public void setOut_trade_no(String out_trade_no) {
   
        this.out_trade_no = out_trade_no;
    }
    public String getSubject() {
   
        return subject;
    }
    public void setSubject(String subject) {
   
        this.subject = subject;
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值