2

无法通过使用 instamojo rest api 发出错误请求(400)在 instamojo 上发出付款请求,无法确定我收到 400 错误的原因。我正在使用 spring RestTemplate 类在 instamojo 上发出发布请求。下面我显示我正在使用的代码:

    RestTemplate restTemplate = new RestTemplate();
    Map<String,Object> requestBody = new HashMap<String, Object>();
    requestBody.put("amount", "10000.00");
    requestBody.put("purpose", "just_testing_purpose");
    requestBody.put("buyer_name", "adityaPandey");
    requestBody.put("email", "robust_aditya95@xyz.com");
    requestBody.put("phone", "+919634222331");
    requestBody.put("redirect_url", "www.imthebest.in");
    requestBody.put("webhook", "");
    requestBody.put("allow_repeated_payments", false);
    requestBody.put("send_email", false);
    requestBody.put("send_sms", false);

    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_JSON);
    headers.set("X-Api-Key", "me6a901b073db4715a9c540fa00af81");
    headers.set("X-Auth-Token", "k3c88da2cda6f89462d6002c9d24e80");

    HttpEntity<String> request = new HttpEntity<String>(requestBody.toString(), headers);

    HttpEntity<String> response = restTemplate.exchange("https://www.instamojo.com/api/1.1/payment-requests/", HttpMethod.POST, request, String.class);
    logger.info("MailResponse "+ response);
4

1 回答 1

1

requestBody我的数据有问题。redirect_url字段值必须带有httpor ,因此https只需进行此更改,我就不会再收到 400 错误:

requestBody.put("redirect_url", "http://www.imthebest.in")
于 2017-04-11T09:33:30.077 回答