Нет такого payment_intent: 'pi _ *******************' в android - PullRequest
0 голосов
/ 07 августа 2020
• 1000 На моей стороне сервера я передал секретный ключ учетной записи платформы и подключенный ключ учетной записи для прямого списания с регистрационной платой. Я не знаю, как это исправить, дайте какое-нибудь представление.

ответ api и код ошибки, указанные ниже

private void paymentintentAPI() {

    String url = BASE_URL + "/api/paymentintent";

    HashMap<String, Object> params = new HashMap<>();
    params.put("accesstoken", data);
    params.put("accountid",accountid );


    StringRequest request = new StringRequest(Request.Method.POST, url,
            new Response.Listener<String>() {
                public void onResponse(String response) {
                    try {
                        JSONObject jsonObject=new JSONObject(response);
                        String clientSecret=jsonObject.getString("client_secret");
                        
                        paymentintentCreate(clientSecret);
                    } catch (JSONException ex) {
                        ex.printStackTrace();
                    }


                }
            },
            new Response.ErrorListener() {
                public void onErrorResponse(VolleyError error) {
                    System.out.println(">>>>>>>>>>>>>>>error" + error);
                }
            }
    ) {
        public byte[] getBody() {
            return new JSONObject(params).toString().getBytes();
        }

        public String getBodyContentType() {
            return "application/json";
        }

        @Override
        public Map getHeaders() throws AuthFailureError {
            HashMap headers = new HashMap();
            String credentials = Username + ":" + Password;
            String auth = "Basic "
                    + Base64.encodeToString(credentials.getBytes(),
                    Base64.NO_WRAP);
            headers.put("Authorization", auth);
            headers.put("Content-Type", "application/json");
            return headers;
        }
    };

    Volley.newRequestQueue(this).add(request);
}

 private void paymentintentCreate(String clientSecret){
           
    Terminal.getInstance().retrievePaymentIntent(clientSecret,
            new PaymentIntentCallback() {
                @Override
                public void onSuccess(PaymentIntent paymentIntent) {
                    // Placeholder for collecting a payment method with paymentIntent
                    System.out.println(">>>>>>>>>>>>>>payment intent response "+paymentIntent);
                }

                @Override
                public void onFailure(TerminalException exception) {
                    System.out.println(">>>>>>>>>>>>>>payment intent response "+exception.getErrorMessage()+"//"+exception.getMessage());
                    // Placeholder for handling exception
                }

});
}
...