"code": "BAD_REQUEST_ERROR", "description": "Указанный идентификатор не существует" Ошибка RazorPay при интеграции в android - PullRequest
0 голосов
/ 10 февраля 2020

Я получаю вышеуказанную ошибку при интеграции RazorPay с android.

Вот мой код

Я скопировал следующий код из Razorpay официальной документации. Хотя KeyId, который я предоставил, предназначен для тестовой среды. Даже я пытался восстановить KeyId, но получал ту же ошибку снова и снова.

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_paytm_try);
        Checkout.preload(getApplicationContext());

        payBtn = findViewById(R.id.payBtn);
        payBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                startPayment();

            }
        });


    }

    public void startPayment() {

        /**
         * Instantiate Checkout
         */
        Checkout checkout = new Checkout();

        checkout.setKeyID("rzp_test_R2oCIrTkyM4LqA");

        /**
         * Set your logo here
         */
        checkout.setImage(R.drawable.gps);

        /**
         * Reference to current activity
         */
        final Activity activity = this;

        /**
         * Pass your payment options to the Razorpay Checkout as a JSONObject
         */
        try {
            JSONObject options = new JSONObject();

            /**
             * Merchant Name
             * eg: ACME Corp || HasGeek etc.
             */
            options.put("name", "Praveen");

            /**
             * Description can be anything
             * eg: Reference No. #123123 - This order number is passed by you for your internal reference. This is not the `razorpay_order_id`.
             *     Invoice Payment
             *     etc.
             */
            options.put("description", "Reference No. #123456");
            //options.put("image", "https://s3.amazonaws.com/rzp-mobile/images/rzp.png");
            options.put("order_id", "154546548");
            options.put("currency", "INR");

            /**
             * Amount is always passed in currency subunits
             * Eg: "500" = INR 5.00
             */
            options.put("amount", "500");

            checkout.open(activity, options);
        } catch(Exception e) {
            Log.e(TAG, "Error in starting Razorpay Checkout", e);
        }
    }

    @Override
    public void onPaymentSuccess(String s) {

        Toast.makeText(getApplicationContext(),"Payment Successful",Toast.LENGTH_LONG).show();

    }

    @Override
    public void onPaymentError(int i, String s) {

        Toast.makeText(getApplicationContext(),s,Toast.LENGTH_LONG).show();
        Log.d(TAG, "onPaymentError: "+s);

    }

Я добавил следующий код в файл манифеста

  <meta-data
            android:name="com.razorpay.ApiKey"
            android:value="rzp_test_R2oCIrTkyM4LqA"
            >

        </meta-data>
...