Angular 的 Ngx-paypal:编辑 Paypal 按钮的送货地址
Ngx-paypal for Angular: edit shipping address of Paypal Button
我正在为 Angular 使用 ngx-paypal 制作一个 Paypal 结账按钮,当我到达购物车并继续结账时会显示该按钮,但我不知道如何“提供”送货地址到按钮而不是默认地址,所以当有人点击 Checkout Paypal 按钮时,他们会得到我选择在打字稿中传递的地址。
我想和 shippingAddressOverride 一样。
这是显示我如何配置 Paypal 按钮的代码:
this.payPalConfig = {
currency: 'EUR',
clientId: this.parameters.clientidpaypal,
createOrderOnClient: (data) => <ICreateOrderRequest>{
intent: 'CAPTURE',
purchase_units: [{
amount: {
currency_code: 'EUR',
value: this.item.total.toString().replace(",", "."),
breakdown: {
item_total: {
currency_code: 'EUR',
value: this.item.total.toString().replace(",", ".")
}
}
}
}],
}
};
订单创建请求正文is documented here.
这里有一些例子 JSON。
{
"payer": {
"name": {
"given_name": "John",
"surname": "Doe"
},
"email_address": "customer@example.com"
},
"purchase_units": [
{
"shipping": {
"address": {
"address_line_1": "2211 N First Street",
"address_line_2": "Building 17",
"admin_area_2": "San Jose",
"admin_area_1": "CA",
"postal_code": "95131",
"country_code": "US"
}
},
如果客户在结账时选择不同的地址,他们可以覆盖提供的信息,因此您必须存储响应中收到的地址,如果不同则使用该地址。
如果您需要强制使用您预先收集的特定地址,则有一个 SET_PROVIDED_ADDRESS 参数 - 但是如果您使用该地址,这种强制将导致结帐失败并出现错误正在尝试强制无效。
理想情况下,PayPal 选项应该在流程中在收集送货地址之前出现,这样您就可以从已经存储在PayPal 帐户,而不是反过来让用户手动输入您的网站。这是普通电子商务的最佳流程,因为它允许付款人更快地完成结帐(减少手动输入),从而带来更多转化(更多完成的销售,更少的流失/改变主意)
有一个 onShippingChange
回调,你可以实时检查新选择的地址,return 是否可以(例如,如果你不运送到所选国家/地区),并在必要时修补订单详细信息。这集成起来比较复杂,但如果您需要根据所选地址执行此类调整,则这是必要的。
我正在为 Angular 使用 ngx-paypal 制作一个 Paypal 结账按钮,当我到达购物车并继续结账时会显示该按钮,但我不知道如何“提供”送货地址到按钮而不是默认地址,所以当有人点击 Checkout Paypal 按钮时,他们会得到我选择在打字稿中传递的地址。 我想和 shippingAddressOverride 一样。 这是显示我如何配置 Paypal 按钮的代码:
this.payPalConfig = {
currency: 'EUR',
clientId: this.parameters.clientidpaypal,
createOrderOnClient: (data) => <ICreateOrderRequest>{
intent: 'CAPTURE',
purchase_units: [{
amount: {
currency_code: 'EUR',
value: this.item.total.toString().replace(",", "."),
breakdown: {
item_total: {
currency_code: 'EUR',
value: this.item.total.toString().replace(",", ".")
}
}
}
}],
}
};
订单创建请求正文is documented here.
这里有一些例子 JSON。
{
"payer": {
"name": {
"given_name": "John",
"surname": "Doe"
},
"email_address": "customer@example.com"
},
"purchase_units": [
{
"shipping": {
"address": {
"address_line_1": "2211 N First Street",
"address_line_2": "Building 17",
"admin_area_2": "San Jose",
"admin_area_1": "CA",
"postal_code": "95131",
"country_code": "US"
}
},
如果客户在结账时选择不同的地址,他们可以覆盖提供的信息,因此您必须存储响应中收到的地址,如果不同则使用该地址。
如果您需要强制使用您预先收集的特定地址,则有一个 SET_PROVIDED_ADDRESS 参数 - 但是如果您使用该地址,这种强制将导致结帐失败并出现错误正在尝试强制无效。
理想情况下,PayPal 选项应该在流程中在收集送货地址之前出现,这样您就可以从已经存储在PayPal 帐户,而不是反过来让用户手动输入您的网站。这是普通电子商务的最佳流程,因为它允许付款人更快地完成结帐(减少手动输入),从而带来更多转化(更多完成的销售,更少的流失/改变主意)
有一个 onShippingChange
回调,你可以实时检查新选择的地址,return 是否可以(例如,如果你不运送到所选国家/地区),并在必要时修补订单详细信息。这集成起来比较复杂,但如果您需要根据所选地址执行此类调整,则这是必要的。