【发布时间】:2019-12-10 19:55:15
【问题描述】:
我使用沙盒集成了pay pal 支付网关。一切正常,但美元货币代码 AED 货币不起作用,如果有人有想法,请提供帮助,我只想要 AED 货币用于支付宝付款结帐。
我正在使用这个 Android sdk--implementation 'com.paypal.sdk:paypal-android-sdk:2.16.0'
【问题讨论】:
-
PayPal SDK 是否已弃用?
我使用沙盒集成了pay pal 支付网关。一切正常,但美元货币代码 AED 货币不起作用,如果有人有想法,请提供帮助,我只想要 AED 货币用于支付宝付款结帐。
我正在使用这个 Android sdk--implementation 'com.paypal.sdk:paypal-android-sdk:2.16.0'
【问题讨论】:
根据他们的文档doc,您可以在这里设置不同的货币:
public void setupBraintreeAndStartExpressCheckout() {
PayPalRequest request = new PayPalRequest("1")
.currencyCode("USD")
.intent(PayPalRequest.INTENT_AUTHORIZE);
PayPal.requestOneTimePayment(mBraintreeFragment, request);
}
并了解更多关于可用货币的信息here
如果您找不到您要查找的货币,我建议您自己计算货币并将最终值发送到贝宝
【讨论】:
您可以尝试集成 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 这个有用的链接
快乐编码..
【讨论】: