当我尝试在真实设备上使用Google Pay付款(在TEST环境下)时,出现标题错误。
我尝试将“ gateway”更改为类似于google docs所示的字符串,但到目前为止没有任何操作。
const DETAILS = {
id: 'COMPANY',
displayItems: [
{
label: 'Phone Bill',
amount: { currency: 'USD', value: compTotal }
}
],
total: {
label: 'COMPANY',
amount: { currency: 'USD', value: compTotal }
}
};
// GOOGLE PAY
const METHOD_DATA = [{
supportedMethods: ['android-pay'],
data: {
supportedNetworks: ['visa', 'mastercard', 'amex'],
currencyCode: 'USD',
environment: 'TEST', // defaults to production
paymentMethodTokenizationParameters: {
tokenizationType: 'GATEWAY_TOKEN',
parameters: {
gateway: 'braintree',
'braintree:tokenizationKey': 'sandbox_XXXXXXXXXXX'
}
}
}
}];
const paymentRequest = new PaymentRequest(METHOD_DATA, DETAILS);
paymentRequest.show()
.then(paymentResponse => {
const { getPaymentToken } = paymentResponse.details;
return getPaymentToken()
.then(paymentToken => {
const { ephemeralPublicKey, encryptedMessage, tag } = paymentToken.details;
return fetch('...', {
method: 'POST',
body: {
ephemeralPublicKey,
encryptedMessage,
tag
}
})
.then(res => res.json())
.then(paymentResponse.complete('success'), handleConfirm())
.catch(paymentResponse.complete('fail'), alert(1));
});
});
};
预期结果将是付款。
事实证明,我无法使用React-Native做到这一点,因为“ React Native Payments”不完全支持Google Pay,而Google Pay却不完全支持Braintree,也根本不支持Payeezy。
我不得不求助于本机代码(Java),然后将React-Native链接到该本机模块。这很简单。
我在Github上使用了这个演示来指导我。我使用Braintree作为付款处理程序,但看起来我将切换到Payeezy。
我在标题中遇到了错误,因为就像我说的那样,'React-Native-Payments'并不完全支持Google Pay,后者反过来也不支持Braintree,并且当我因为给出错误信息而出现错误时-
parameters: {
gateway: 'braintree',
'braintree:tokenizationKey': 'sandbox_TOKEN-HERE'
}
但是看起来我需要使用它(在Java模块中)-
.put("gateway", "braintree")
.put("braintree:apiVersion", "v1")
.put("braintree:sdkVersion", "BETA")
.put("braintree:clientKey", "sandbox_TOKEN-HERE")
.put("braintree:merchantId", "TOKEN-HERE"));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句