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 Key,api_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 管理平台对应的应用 ID,app_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
超详细的java接入ping++支付(聚合支付)
最新推荐文章于 2024-08-02 16:04:05 发布
本文详细介绍了如何在Java中接入Ping++支付,包括设置API Key、私钥,以及创建支付订单和退款的方法。同时,提供了生成公钥、验证签名的辅助功能,以确保支付过程的安全性。
摘要由CSDN通过智能技术生成