迁移到生产Braintree API凭证时,我们在设备模式下遇到问题。但同样的事情在我们的模拟器环境(Ripple)中工作正常。
请按照错误说明进行操作。 1.首先,我们使用我们的Web API服务生成客户端令牌。它在设备模式和模拟器中都能正常工作。
其次使用在步骤1中生成的客户端令牌,我们按照下面的方式进行设置过程,对于这个我们使用JavaScript。
paymentService.getNewClientToken().then(function (data) {
$scope.tokenId = data;
braintree.setup($scope.tokenId, "custom", {
onReady: function (integration) {
checkout = integration;
},
paypal: {
container: "paypal-container",
intent:'sale',
singleUse: true,//Required
amount: $scope.shoppingCart.totalAmout, // Required
currency: 'SGD', // Required
locale: 'en_us',
enableShippingAddress: false,
headless: true
},
dataCollector: {
paypal: true
},
onPaymentMethodReceived: function (obj) {
$scope.shoppingCart.isDirty = false;
$scope.showCheckOutButton = false;
$scope.showPayNowButton = true;
$scope.$apply();
//myPopup.close();
updateNonce(obj.nonce);
}
});
这里在onReady回调设备模式和接收响应的模拟器。但设备模式响应不包含PayPal对象。请参考下面的截图。
在设备模式下:
在模拟器模式下:
在仿真器模式下,您可以在响应中看到paypal对象,但它不在设备模式中。由于这个原因,设备模式应用程序无法生成paypal弹出窗口。
您能帮我们解决这个问题吗?