Android Paypal 结帐选项

问题描述 投票:0回答:1

我正在完成我的应用程序以进行 PayPal 付款。这只是一次性付款,所以我真的不需要 PayPal 提供的所有提示。我只想点击一个按钮进行付款,然后让 PayPal 完成剩下的工作。 现在一切正常,但我想调整 PayPal 提供的 UI。 具体来说:

1)。我不想看到授权金额超过付款金额,它们将始终相同,因为没有运费。我已经将送货偏好设置为“NO-SHIPPING”,这确实删除了送货地址信息。

2)。我想删除 PayPal Credit 作为一个选项。

3)。理想情况下,我不希望用户在这个阶段向钱包添加新卡。如果他们愿意,他们可以在其他地方这样做

我的结账设置和示例屏幕如下:

paymentButtonContainer.setup(
            new CreateOrder() {
                @Override
                public void create(@NotNull CreateOrderActions createOrderActions) {
                    ArrayList<PurchaseUnit> purchaseUnits = new ArrayList<>();
                    purchaseUnits.add(
                            new PurchaseUnit.Builder()
                                    .amount(new Amount.Builder()
                                            .currencyCode(CurrencyCode.GBP)
                                            .value("6.00")
                                            .build()
                                    ).shipping(new Shipping.Builder()
                                            .address(null)
                                            .build()
                                    ).build()
                    );
                    OrderRequest order = new OrderRequest(
                            OrderIntent.CAPTURE,
                            new AppContext.Builder()
                                    .userAction(UserAction.PAY_NOW)
                                    .shippingPreference(ShippingPreference.NO_SHIPPING)
                                    .build(),
                            purchaseUnits
                    );
                    createOrderActions.create(order, (CreateOrderActions.OnOrderCreated) null);
                }
            }, new OnApprove() {
                @Override
                public void onApprove(@NotNull Approval approval) {
                    approval.getOrderActions().capture(new OnCaptureComplete() {
                        @Override
                        public void onCaptureComplete(@NotNull CaptureOrderResult result) {
                            Log.i(TAG, String.format("CaptureOrderResult: %s", result));
                            Toast.makeText(MainActivity.this, "Payment Approved", Toast.LENGTH_SHORT).show();
                        }
                    });
                }
            },
            null,
            new OnCancel() {
                @Override
                public void onCancel() {
                    Log.d(TAG, "Buyer cancelled the PayPal experience.");
                    Toast.makeText(MainActivity.this, "Payment Cancelled", Toast.LENGTH_SHORT).show();
                }
            }, new OnError() {
                @Override
                public void onError(@NonNull ErrorInfo errorInfo) {
                    Log.d(TAG, String.format("Error: %s", errorInfo));
                    Toast.makeText(MainActivity.this, "Payment Error", Toast.LENGTH_SHORT).show();
                }
            }
    );

以及在应用程序中

 returnURL = BuildConfig.APPLICATION_ID + "://paypalpay";

    paypalConfig = new CheckoutConfig(this,
            CLIENT_ID,
            Environment.SANDBOX,
            CurrencyCode.GBP,
            UserAction.PAY_NOW,
            returnURL);

    PayPalCheckout.setConfig(paypalConfig);

android paypal
1个回答
0
投票

对于 (1),如果结账时的授权金额高于请求的订单金额,则可能会由于 PSD2 超额捕获要求而添加该缓冲。您无法自行调整;联系 PayPal 咨询此事。

如果“稍后付款”在到达 PayPal 之前显示为按钮/操作,则应该有办法忽略它。但是,如果 (2) 和 (3) 是对 PayPal 页面/活动的更改,即付款人基本上从您的应用程序转到 PayPal 后,则不可能也不保证进行更改。

© www.soinside.com 2019 - 2024. All rights reserved.