Stripe Java集成支付过程使用Spring MVC



我是 Stripe API 的全新新手。我想使用 Spring MVC 将付款网关嵌入我的Java J2EE应用程序中。我正在使用条纹。

到目前为止,我所做的是在结帐页面中包括checkout.js,并使用卡按钮点击付款。然后,它成功打开了包含必要卡详细信息的弹出窗口。

单击付费按钮时,它应该转到条纹并为我生成一个令牌,然后重定向到成功页面。但是我无法将其固定在后端,并做必要的事情。

您可以在 spring MVC 中提供示例代码>满足我的整个要求吗?

预先感谢。

this is my controller to redirect to the checkout page

@requestmapping(value ="/checkout",method = requestMethod.get) 公共字符串结帐(ModelMap Map,httpservletrequest请求){

    //String stripePublicKey = "pk_test_vsp3nRQS4PqW0aqP6PG6cdef";
     String stripePublicKey = "pk_test_vsp3nRQS4PqW0aqP6PG6cdef";
    /*  String token = request.getParameter("stripeToken");
        System.out.println("print token @@@@@@@@@@@" + token);

*/

    map.addAttribute("amount", 50 * 100); // in cents
    map.addAttribute("stripePublicKey", stripePublicKey);
    map.addAttribute("currency", ChargeRequest.Currency.EUR);
    //map.addAttribute("token", ChargeRequest.Currency.EUR);
        return "checkout";

这是我的服务类,以充电卡公共班级lindapiimpl实施stripeapi {

@Override
public Charge charge(ChargeRequest chargeRequest) throws AuthenticationException, InvalidRequestException, APIConnectionException, CardException, APIException  {

    Map<String, Object> chargeParams = new HashMap<>();
    chargeParams.put("amount", chargeRequest.getAmount());
    chargeParams.put("currency", chargeRequest.getCurrency());
    chargeParams.put("description", chargeRequest.getDescription());
    chargeParams.put("source", chargeRequest.getStripeToken());
    return Charge.create(chargeParams);

}

实际上我想在通过条纹退房后向信用卡或借记卡充电。

@RequestMapping(value="/charge", method = RequestMethod.POST)
  public String charge(ChargeRequest chargeRequest, Model model,HttpServletRequest request)
          throws StripeException {
        Stripe.apiKey = "sk_test_9kYpQEbABJQDw7PGSQ2Ji0m7";
        StripeApi stripeApi = new StripeApiImpl();
            chargeRequest.setDescription("Example charge");
            chargeRequest.setCurrency(Currency.EUR);
            chargeRequest.setAmount(5000);
            chargeRequest.setStripeEmail("lipsapatra23@gmail.com");
            Charge charge = stripeApi.charge(chargeRequest);
            model.addAttribute("id", charge.getId());
            model.addAttribute("status", charge.getStatus());
            model.addAttribute("chargeId", charge.getId());
            model.addAttribute("balance_transaction", charge.getBalanceTransaction());
            return "result";
        }

最新更新