I want to use my card details which I get form my User for as parameter of ConfirmPaymentIntentParams. without using CardInputWidget
txt_pay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("PAY 01 ", "paymentIntentClientSecret " + paymentIntentClientSecret);
CardInputWidget cardInputWidget = findViewById(R.id.cardInputWidget);
PaymentMethodCreateParams params = cardInputWidget.getPaymentMethodCreateParams();
if (params != null) {
ConfirmPaymentIntentParams confirmParams = ConfirmPaymentIntentParams.createWithPaymentMethodCreateParams(params, paymentIntentClientSecret);
stripe.confirmPayment(this, confirmParams);
} catch (JSONException e) {
e.printStackTrace();
Log.e("PAY 02 ", "exception " + e.getMessage());
}
}
});
Use PaymentMethodCreateParams.Card.Builder to set the value of various Field of payment card (Card no. ,Expiry Date , Expiry year , Cvv etc ) the rest of the code is the same(using the params object to create a PaymentMethod)
In My case :
PaymentMethodCreateParams.Card.Builder paymentBuilder = new PaymentMethodCreateParams.Card.Builder();
paymentBuilder.setNumber("4242 4242 4242 4242");
paymentBuilder.setExpiryMonth(03));
paymentBuilder.setExpiryYear(23));
paymentBuilder.setCvc("123");
ConfirmPaymentIntentParams confirmParams = ConfirmPaymentIntentParams.createWithPaymentMethodCreateParams(PaymentMethodCreateParams.create(paymentBuilder.build()), paymentIntentClientSecret);