阿联酋 (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 支付网关集成的主要内容,如果未能解决你的问题,请参考以下文章