预填信用卡的 PayPal 账单详细信息
Pre-fill PayPal Billing details for credit card
尝试根据 https://developer.paypal.com/docs/checkout/integration-features/standard-card-fields/. But the example https://developer.paypal.com/docs/checkout/integration-features/standard-card-fields/ 预填卡支付的一些详细信息是行不通的,因为 json 不适合“@paypal/paypal-js”中的类型: "^4.1.0".
所以我调整了 --> https://developer.paypal.com/docs/api/orders/v2/#definition-payer
另见:@paypal\paypal-js\types\apis\orders.d.ts
但现在出现以下错误:
{"name":"INVALID_REQUEST","message":"Request is not well-formed, syntactically incorrect, or violates schema.","debug_id":"10a838ea45721","details":[{"field":"/payer/phone/phone_number","location":"body","issue":"MALFORMED_REQUEST_JSON","description":"The request JSON is not well formed."}]
我的配置:
paypal
.Buttons({
createOrder: (data: UnknownObject, actions: CreateOrderActions) => {
// This function sets up the details of the transaction, including the amount and line item details.
return actions.order.create({
application_context: {
shipping_preference: 'NO_SHIPPING',
},
payer: {
payer_id: '1',
birth_date: '2021-01-01',
tax_info: {
tax_id: '1',
tax_id_type: 'string',
},
email_address: 'customer@domain.com',
phone: {
phone_number: '45465',
},
name: {
given_name: 'PayPal',
surname: 'Customer',
},
address: {
address_line_1: '123 ABC Street',
address_line_2: 'Apt 2',
admin_area_2: 'San Jose',
admin_area_1: 'CA',
postal_code: '95121',
country_code: 'US',
},
},
purchase_units: [
{
amount: {
value: '0.01',
currency_code: 'EUR',
},
},
],
});
},
...
我为 phone_number 尝试了不同的值,但总是出现相同的错误。有什么问题?
谢谢,
迈克.
根据 the documentation,phone_number 必须有一个 national_number
键。不要包含 payer_id
或无效的 tax_info
对象。
{
application_context: {
shipping_preference: 'NO_SHIPPING',
},
payer: {
birth_date: '2021-01-01',
email_address: 'customer@domain.com',
phone: {
phone_number: {
national_number: '4543433243',
}
},
name: {
given_name: 'PayPal',
surname: 'Customer',
},
address: {
address_line_1: '123 ABC Street',
address_line_2: 'Apt 2',
admin_area_2: 'San Jose',
admin_area_1: 'CA',
postal_code: '95121',
country_code: 'US',
},
},
purchase_units: [
{
amount: {
value: '0.01',
currency_code: 'EUR',
},
},
],
}
尝试根据 https://developer.paypal.com/docs/checkout/integration-features/standard-card-fields/. But the example https://developer.paypal.com/docs/checkout/integration-features/standard-card-fields/ 预填卡支付的一些详细信息是行不通的,因为 json 不适合“@paypal/paypal-js”中的类型: "^4.1.0".
所以我调整了 --> https://developer.paypal.com/docs/api/orders/v2/#definition-payer 另见:@paypal\paypal-js\types\apis\orders.d.ts
但现在出现以下错误:
{"name":"INVALID_REQUEST","message":"Request is not well-formed, syntactically incorrect, or violates schema.","debug_id":"10a838ea45721","details":[{"field":"/payer/phone/phone_number","location":"body","issue":"MALFORMED_REQUEST_JSON","description":"The request JSON is not well formed."}]
我的配置:
paypal
.Buttons({
createOrder: (data: UnknownObject, actions: CreateOrderActions) => {
// This function sets up the details of the transaction, including the amount and line item details.
return actions.order.create({
application_context: {
shipping_preference: 'NO_SHIPPING',
},
payer: {
payer_id: '1',
birth_date: '2021-01-01',
tax_info: {
tax_id: '1',
tax_id_type: 'string',
},
email_address: 'customer@domain.com',
phone: {
phone_number: '45465',
},
name: {
given_name: 'PayPal',
surname: 'Customer',
},
address: {
address_line_1: '123 ABC Street',
address_line_2: 'Apt 2',
admin_area_2: 'San Jose',
admin_area_1: 'CA',
postal_code: '95121',
country_code: 'US',
},
},
purchase_units: [
{
amount: {
value: '0.01',
currency_code: 'EUR',
},
},
],
});
},
...
我为 phone_number 尝试了不同的值,但总是出现相同的错误。有什么问题?
谢谢, 迈克.
根据 the documentation,phone_number 必须有一个 national_number
键。不要包含 payer_id
或无效的 tax_info
对象。
{
application_context: {
shipping_preference: 'NO_SHIPPING',
},
payer: {
birth_date: '2021-01-01',
email_address: 'customer@domain.com',
phone: {
phone_number: {
national_number: '4543433243',
}
},
name: {
given_name: 'PayPal',
surname: 'Customer',
},
address: {
address_line_1: '123 ABC Street',
address_line_2: 'Apt 2',
admin_area_2: 'San Jose',
admin_area_1: 'CA',
postal_code: '95121',
country_code: 'US',
},
},
purchase_units: [
{
amount: {
value: '0.01',
currency_code: 'EUR',
},
},
],
}