Ping++支付测试

来源:互联网 发布:go并发编程实战 2017 编辑:程序博客网 时间:2024/05/21 10:53


@RequestMapping(value = "/pay")
@Controller
@Transactional(propagation=Propagation.REQUIRED)
public class Pay {

@ApiOperation(value = "支付", httpMethod = "POST")
@RequestMapping(value="/charge",method=RequestMethod.POST)
@ResponseBody
    public Charge createCharge() {
        //ping++测试版的key
    Pingpp.apiKey = AlipayConfigEnum.API_TEST_KEY.getAlipayParam();


    //ping++管理平台 对应的应用ID
    String  appId = AlipayConfigEnum.APP_ID.getAlipayParam();
 
        Charge charge = null;
        //私钥
        Pingpp.privateKeyPath="C:\\Users\\Group2\\rsa_private_key.pem";
        Map<String, Object> chargeMap = new HashMap<String, Object>();  
 
        chargeMap.put("amount", 100); 
        //3 位 ISO 货币代码,人民币为  cny 。
        chargeMap.put("currency", "cny");  
        //商品标题
        chargeMap.put("subject", "Your Subject"); 
        //商品描述信息,该参数最长为 128 个 Unicode 字符。
        chargeMap.put("body", "Your Body");  
        String orderNo = new Date().getTime()+"" ;
        chargeMap.put("order_no", orderNo);// 推荐使用 8-20 位,要求数字或字母,不允许其他字符  
        //支付使用的第三方支付渠道: alipay_wap 支付宝手机网页支付 alipay 支付宝 App 支付
        chargeMap.put("channel", "alipay_wap");  
        chargeMap.put("client_ip", "127.0.0.1");  
        Map<String, String> app = new HashMap<String, String>();          
        app.put("id", appId);  
        //特定渠道发起交易时需要的额外参数,以及部分渠道支付成功返回的额外参数
        Map<String, String> extramap = new HashMap<String, String>();  
         //extra的参数根据文档: https://pingxx.com/document/api#api-c-new  
        extramap.put("success_url", "http://127.0.0.1:8080/Group2/login.html"); 
        chargeMap.put("extra", extramap);  
        chargeMap.put("app", app);  


        try {
            //发起交易请求
            charge = Charge.create(chargeMap);
            // 传到客户端请先转成字符串 .toString(), 调该方法,会自动转成正确的 JSON 字符串
            String chargeString = charge.toString();            
            System.out.println(chargeString);
            chargeMap.put("charge", charge);           
        } catch (Exception e) {
            e.printStackTrace();
        }
        return charge;

    }



pom配置文件中导入ping++的jar包和仓库

<dependency>
        <groupId>Pingplusplus</groupId>
        <artifactId>pingpp-java</artifactId>
        <version>2.2.4</version>
        <type>jar</type>
    </dependency>

 <repository>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <id>central</id>
        <name>bintray</name>
        <url>http://jcenter.bintray.com</url>
    </repository>  

原创粉丝点击