超详细的java接入ping++支付(聚合支付)

本文详细介绍了如何在Java中接入Ping++支付,包括设置API Key、私钥,以及创建支付订单和退款的方法。同时,提供了生成公钥、验证签名的辅助功能,以确保支付过程的安全性。
摘要由CSDN通过智能技术生成
package com.hecross.common.pay;

import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.security.InvalidKeyException;
import java.security.KeyFactory;
import java.security.NoSuchAlgorithmException;
import java.security.PublicKey;
import java.security.SecureRandom;
import java.security.Signature;
import java.security.SignatureException;
import java.security.spec.X509EncodedKeySpec;
import java.util.HashMap;
import java.util.Map;

import com.hecross.common.crypt.Base64;
import com.pingplusplus.Pingpp;
import com.pingplusplus.exception.APIConnectionException;
import com.pingplusplus.exception.APIException;
import com.pingplusplus.exception.AuthenticationException;
import com.pingplusplus.exception.ChannelException;
import com.pingplusplus.exception.InvalidRequestException;
import com.pingplusplus.exception.RateLimitException;
import com.pingplusplus.model.Charge;
import com.pingplusplus.model.Refund;

/**
 * 支付工具
 *
 * @author zqli
 *
 */
public class PayUtil {
   public static String REFUNDSUCCESS = "pending";
   /**
    * Pingpp 管理平台对应的 API Keyapi_key 获取方式:登录 [Dashboard](https://dashboard.pingxx.com)->点击管理平台右上角公司名称->开发信息-> Secret
    * Key
    */
   // private final static String apiKey = "sk_test_unXbjTPi9m5GXLWvfD8Wb140";
   private final static String apiKey = "sk_live_zzPu9GfPqjTKaL";
   private final static String apiKeytest = "sk_live_b9Ge1CPqDWfD";
   /**
    * Pingpp 管理平台对应的应用 IDapp_id 获取方式:登录 [Dashboard](https://dashboard.pingxx.com)->点击你创建的应用->应用首页->应用 ID(App ID)
    */
   private final static String appId = "app_j9GCi118azv";
   private final static String appIdceshi = "app_uvrPO4fnD";

   /**
    * 设置请求签名密钥,密钥对需要你自己用 openssl 工具生成,如何生成可以参考帮助中心:https://help.pingxx.com/article/123161    * 生成密钥后,需要在代码中设置请求签名的私钥(rsa_private_key.pem); 然后登录
    * [Dashboard](https://dashboard.pingxx.com)->点击右上角公司名称->开发信息->商户公钥(用于商户身份验证) 将你的公钥复制粘贴进去并且保存->先启用 Test
    * 模式进行测试->测试通过后启用 Live 模式
    */


   private final static String pubKey = "-----BEGIN PUBLIC KEY-----\n"
         + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0pyjbt81nCR+HqEWBkT6\n"
         + "DKz2amX6G/JJ7jX5IzxGmA2CoaEhgwA0IDZU9ft8TyTQK/BbmWasAFoZN2LV7u83\n"
         + "eexWcb6gKgSr/PPblAmERgNrJ4PQqXnn+XFHGqmRrSaH+C2maNOtd4Sx6BYhSDKS\n"
         + "gH7DbRGg2LyiLpc2C8qASj3/1kT8VVqqbIKOTA5N45YFfsAF\n"
         + "dmIyaX6nimqtE2M6pknwQUtt8QtXht4+7Nd/op/GwftW6+80nF3bLGcj3\n"
         + "fcNAM35zSqHptFUTUOjg5VknF5tP7FN6NO+h8GYUHmgwewUWKEUbVKJ6\n" + "gwIDAQAB\n"
         + "-----END PUBLIC KEY-----\n";
   private final static String pubKeyTest = "-----BEGIN PUBLIC KEY-----\n" +
         "MIIBIjANBgkqhkiG9w0BAQEFAAOCgKCAQEApissF5ACwGRgrA7poo2F\n" +
         "kDsAX3LAzs/8AXPQV8CAhGmMzYZGBx+NcurQdpB5j124ZUWvl8raAXnk\n" +
         "nIyMe9OQZ3y0P7qCq//G+rp7SDqJV5hzuWChZSOFNs8wRtMGIfgLRKiO\n" +
         "dEV4vQts
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值