有没有办法为@paypal/react-paypal-js createOrder 道具提供送货地址

Is there any way to provide a shipping address to @paypal/react-paypal-js createOrder prop

<PayPalScriptProvider options={{ "client-id": "", currency: "MXN" }}>
   <PayPalButtons
       createOrder={createOrder}
       onApprove={(data, actions) => onApprove(data, actions)}
       onError={error => console.log(error)}/>
</PayPalScriptProvider>

我正在这样调用 createOrder 函数:

const createOrder = (data, actions) => {
        return actions.order.create({
            purchase_units: [
                {
                    amount: {
                        value: 100.00
                    },
                    description: "asdasda",
                }
            ],
            intent: "CAPTURE",
        }
        )
    }

我要发送预设的送货地址。

我尝试过的:

像这样在 purchase_units 数组中发送它:


purchase_units: [
   {
       amount: {
          value: 100.00
       },
       shipping: {
         shipping_detail: {
           address : {
                //here goes the address
           }
         }
       }
  }
],

我也试过将它发送到收款人对象,但没有成功。

那么,有什么办法可以做到这一点吗?

Testing here,以下作品:

                    purchase_units: [{
                        amount: {
                            value: '88.44'
                        },
                        shipping:{
                            name:{
                                full_name:'John Doe'
                            },
                            address: {
                                address_line_1: '1200 Main St',
                                address_line_2: 'Unit 10',
                                admin_area_2: 'Phoenix',
                                admin_area_1: 'AZ',
                                postal_code: '85001',
                                country_code: 'US'
                            }
                        }
                    }]

文档位于 purchase_unit_request(密钥名称:shipping)

还有:shipping_detail(shipping_detail是对象名,不是键名)

我添加这个就解决了:

const createOrder = (data, actions) => {
return actions.order.create({
  application_context: {
    shipping_preferences: 'SET_PROVIDED_ADDRESS', //Just add this and it will take the address
  },
  purchase_units: [
    {
      amount: { value: parseInt(`${total}.0`) },
      description: `Cuadroy ${cantidad} cuadros 20x20 ${marco}`,
      shipping: {
        address: {
          address_line_1: calle,
          address_line_2: colonia,
          admin_area_2: municipio,
          admin_area_1: estado,
          postal_code: cp,
          country_code: country,
        },
      },
    },
  ],
  intent: 'CAPTURE',
});

我只需要添加应用程序上下文对象并将运输首选项设置为 SET_PROVIDED_ADDRESS 就是这样。

此外,我已将其 shipping_detail 更改为像其他用户所说的那样运送。