阿联酋 (AED) 货币的 Paypal 支付网关集成

Posted

技术标签:

【中文标题】阿联酋 (AED) 货币的 Paypal 支付网关集成【英文标题】:Paypal Payment Gateway Integration for UAE (AED) currency 【发布时间】:2019-12-10 19:55:15 【问题描述】:

我使用沙盒集成了pay pal 支付网关。一切正常,但美元货币代码 AED 货币不起作用,如果有人有想法,请提供帮助,我只想要 AED 货币用于支付宝付款结帐。

我正在使用这个 android sdk--implementation 'com.paypal.sdk:paypal-android-sdk:2.16.0'

【问题讨论】:

PayPal SDK 是否已弃用? 【参考方案1】:

根据他们的文档doc,您可以在这里设置不同的货币:

public void setupBraintreeAndStartExpressCheckout() 
  PayPalRequest request = new PayPalRequest("1")
    .currencyCode("USD")
    .intent(PayPalRequest.INTENT_AUTHORIZE);
  PayPal.requestOneTimePayment(mBraintreeFragment, request);

并了解更多关于可用货币的信息here

如果您找不到您要查找的货币,我建议您自己计算货币并将最终值发送到贝宝

【讨论】:

但 AED 在 Doc 中不可用 是的,这意味着您必须在将用户重定向到贝宝之前自己进行计算【参考方案2】:

您可以尝试集成 Braintree 以使用 Paypal。 Braintree 提供接受 PayPal 付款的选项。但我不确定是否会接受 aed 付款。 但希望它能提供一些简单的方法来处理这个问题。 使用您的客户端令牌初始化 BraintreeFragment 以发出请求。

paypalPayment.setOnClickListener(new View.OnClickListener() 
@Override
public void onClick(View view) 
PayPal.authorizeAccount(braintreeFragment);
);

如果您想收集帐单地址,请添加这段代码 PayPal.requestBillingAgreement(mBraintreeFragment, paypalRequest);

确保您实现了 PaymentMethodNonceCreatedListener 来捕获 PayPalAccountNonce。

@Override
public void onPaymentMethodNonceCreated(PaymentMethodNonce paymentMethodNonce) 
PayPalAccountNonce paypalAccountNonce = (PayPalAccountNonce) paymentMethodNonce;
PostalAddress billingAddress = paypalAccountNonce.getBillingAddress();
String streetAddress = billingAddress.getStreetAddress();
String extendedAddress = billingAddress.getExtendedAddress();
String locality = billingAddress.getLocality();
String countryCodeAlpha2 = billingAddress.getCountryCodeAlpha2();
String postalCode = billingAddress.getPostalCode();
String region = billingAddress.getRegion();

现在使用 Paypal 调用结帐 -

public void setupBraintreeAndStartExpressCheckout() 
 PayPalRequest request = new PayPalRequest("1")
.currencyCode("Currency Code")
.intent(PayPalRequest.INTENT_AUTHORIZE);
PayPal.requestOneTimePayment(mBraintreeFragment, request);

当你在 onPaymentMethodNonceCreated 中收到回调时,你可以查询你返回的 PayPalAccountNonce 对象以获取特定的客户信息

@Override
public void onPaymentMethodNonceCreated(PaymentMethodNonce paymentMethodNonce) 
// Send nonce to server
String nonce = paymentMethodNonce.getNonce();
if (paymentMethodNonce instanceof PayPalAccountNonce) 
PayPalAccountNonce payPalAccountNonce = (PayPalAccountNonce)paymentMethodNonce;

// Access additional information
String email = payPalAccountNonce.getEmail();
String firstName = payPalAccountNonce.getFirstName();
String lastName = payPalAccountNonce.getLastName();
String phone = payPalAccountNonce.getPhone();

// See PostalAddress.java for details
PostalAddress billingAddress = payPalAccountNonce.getBillingAddress();
PostalAddress shippingAddress = payPalAccountNonce.getShippingAddress();

您可以查看 Braintree here 这个有用的链接

快乐编码..

【讨论】:

以上是关于阿联酋 (AED) 货币的 Paypal 支付网关集成的主要内容,如果未能解决你的问题,请参考以下文章

具有定期支付选项的最佳印度支付网关[关闭]

Braintree Paypal 交易处理器被拒绝(货币代码无效)

paypal 支付网关链接,用于直接支付

Paypal 作为支付网关? [关闭]

没有购物车的 Paypal 支付网关

如何让客户在 PayPal 中使用不同的货币进行支付?