我在我的应用程序中使用braintree付款(信用卡和Paypal)。我正在使用自定义UI。点击Paypal按钮付款时,我使用以下代码。
braintreeClient = BTAPIClient(authorization: tokenizationKey)!
let payPalDriver = BTPayPalDriver(APIClient: braintreeClient)
payPalDriver.viewControllerPresentingDelegate = self
//payPalDriver.appSwitchDelegate = self // Optional
// Specify the transaction amount here. "2.32" is used in this example.
let request = BTPayPalRequest(amount: "2.32")
request.currencyCode = "USD" // Optional; see BTPayPalRequest.h for more options
payPalDriver.requestOneTimePayment(request) { (tokenizedPayPalAccount, error) in
if let tokenizedPayPalAccount = tokenizedPayPalAccount {
print("Got a nonce: \(tokenizedPayPalAccount.nonce)")
// Access additional information
// See BTPostalAddress.h for details
} else if error != nil {
// Handle error here...
} else {
// Buyer canceled payment approval
}
}
它会打开此链接https://checkout.paypal.com/one-touch-login-sandbox/index.html?action=setup_billing_agreement&ba_token=BA-HERMES-SANDBOX-TOKEN&cancel_url=com.pronto.btreeInteg.payments%3A%2F%2Fonetouch%2Fv1%2Fcancel&controller=client_api%2Fpaypal_hermes&experience_profile%5Baddress_override%5D=false&experience_profile%5Bno_shipping%5D=1&merchant_id=qkd2xjhc84nhd5b3&return_url=com.pronto.btreeInteg.payments%3A%2F%2Fonetouch%2Fv1%2Fsuccess&version=1。它给了我虚拟的随机数。我希望通过登录检查我的Paypal a / c。现在我正在使用Braintree沙箱a / c。
答案 0 :(得分:1)
完全披露:我在Braintree工作。
您所描述的是沙盒帐户的预期行为。请参阅Braintree docs:
使用沙盒API密钥启动的PayPal事务不能用于完整的端到端测试。沙箱测试的目标是确保您的客户端和服务器端配置正确,并且您正在收到针对您的请求的适当响应。如果您希望进行端到端测试,则需要在生产帐户中执行此操作。
但是,如果您对使用沙盒帐户测试PayPal有其他疑问,请contact Braintree support了解您的需求是如何得到的。