title: Razorpay Error - {"code":"BAD_REQUEST_ERROR","description":"ay_order_id is not a valid id"}
body: <p>I'm implement <code>Razorpay</code> with <code>PaymentResultWithDataListener</code>. Actually i need <code>order_id</code> and <code>signature</code> so i use <code>PaymentResultWithDataListener</code> not used <code>PaymentResultListener</code> because there are no option to get <code>order_id</code> and <code>signature</code>. And I have follow these links</p>
  
  <p><a href="https://docs.razorpay.com/v1/page/orders#verifying-the-signature" rel="nofollow noreferrer">https://docs.razorpay.com/v1/page/orders#verifying-the-signature</a></p>
  
  <p><a href="https://razorpay.com/mobile/" rel="nofollow noreferrer">https://razorpay.com/mobile/</a></p>
  
  <p><a href="https://github.com/razorpay/razorpay-android-sample-app" rel="nofollow noreferrer">https://github.com/razorpay/razorpay-android-sample-app</a></p>
  
  <p>But not getting any solution.</p>
  
  <p><strong>Menifest File</strong></p>
  
  <pre><code>&lt;meta-data
      android:name="com.razorpay.ApiKey"
      android:value="rzp_test_PLbERPkkqGZkOF" /&gt;
  </code></pre>
  
  <p><strong>build.gradle</strong></p>
  
  <pre><code>api 'com.razorpay:checkout:1.5.4'
  </code></pre>
  
  <p>I got an error</p>
  
  <pre><code>{"code":"BAD_REQUEST_ERROR","description":"ay_order_id is not a valid id"}
  </code></pre>
  
  <p>I am trying with this code</p>
  
  <pre><code>public class CheckoutActivity extends AppCompatActivity implements View.OnClickListener, PaymentResultWithDataListener {
      private static final String TAG = CheckoutActivity.class.getSimpleName();
  
      Button mCheckOutView;
  
      String OrderId = "";
      String signature = "";
      String order_id = "";
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_payment_method);
  
          Checkout.preload(getApplicationContext());
  
          mCheckOutView = findViewById(R.id.check_out);
  
          mCheckOutView.setOnClickListener(this);
      }
  
      @Override
      public void onClick(View v) {
          if (v == mCheckOutView) {
              startPayment();
          }
      }
  
      public void startPayment() {
          /*
            You need to pass current activity in order to let Razorpay create CheckoutActivity
           */
          final Activity activity = this;
  
          final Checkout co = new Checkout();
  
          try {
              JSONObject options = new JSONObject();
              options.put("name","Test");
              options.put("description", getString(R.string.app_name));
              options.put("key", getString(R.string.api_key));
              options.put("order_id","razorpay_order_id");
              options.put("signature","razorpay_signature");
  
              options.put("currency", "INR");
              options.put("amount", 100);
  
              JSONObject preFill = new JSONObject();
              preFill.put("email", "test@gmail.com");
              preFill.put("contact", "9999999999");
  
              options.put("prefill", preFill);
  
              JSONObject notesData=new JSONObject();
              notesData.put("Order Id","order123");
              notesData.put("address","Test Address");
  
              options.put("notes", notesData);
  
              JSONObject theme=new JSONObject();
              theme.put("color","#738598");
              theme.put("emi_mode",true);
  
              options.put("theme", theme);
  
              co.open(activity, options);
          } catch (Exception e) {
              Toast.makeText(activity, "Error in payment: " + e.getMessage(), Toast.LENGTH_SHORT).show();
              e.printStackTrace();
          }
      }
  
      @Override
      public void onPaymentSuccess(String s, PaymentData paymentData) {
          String paymentId = paymentData.getPaymentId();
          String signature = paymentData.getSignature();  // got null
          String orderId = paymentData.getOrderId();      // got null
      }
  
      @Override
      public void onPaymentError(int i, String s, PaymentData paymentData) {
          Log.e(TAG,s);  //error {"code":"BAD_REQUEST_ERROR","description":"ay_order_id is not a valid id"}
      }
  }
  </code></pre>
  
  <p>If i remove these 2 lines then this error not comes.</p>
  
  <pre><code>options.put("order_id","razorpay_order_id");
  options.put("signature","razorpay_signature");
  </code></pre>
  
  <p>But <code>paymentData.getSignature()</code> and <code>paymentData.getOrderId()</code> is <code>null</code>.</p>
  
  <p>Any help will be appreciated. </p>