如何在 ANDROID (JAVA) 中不使用 CardInputWidget 的情况下设置条带的借记卡或信用卡详细信息

Lak*_*iya 1 java android strip stripe-payments

我想使用从用户那里获得的卡详细信息作为ConfirmPaymentIntentParams 的参数。不使用 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());
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

Lak*_*iya 5

使用 PaymentMethodCreateParams.Card.Builder 设置支付卡各个字段的值(卡号、到期日期、到期年份、Cvv 等)其余代码相同(使用 params 对象创建 PaymentMethod)

就我而言:

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);
                  
Run Code Online (Sandbox Code Playgroud)