Physical Goods
Read about how to enable physical goods.
Physical goods require that you specify both the Ship To and Ship From addresses. You specify Ship To for the entire transaction and the Ship From can be specified for each line if needed.
Prerequisites
You need to configure the settings that are explained in the Physical Goods Settings UI topic.
API Integration
To add physical goods, you need to add the following:
API Field | Description |
---|---|
ship_to_address.country_code | The country that the the goods are shipped to. This is added at the transaction level. |
ship_from_country_code | The country from where the goods are shipped. This is added at the line level. Here you can specify the country code only. |
ship_from_address.country_code | The country from where the goods are shipped. This is added at the line level. Here you can add the address details for the Ship From. A full list of fields is provided in the Address Schema topic. |
The same fields are returned in the response. For example:
},
"tax_country_code": "IT",
"line_key": "pSVgJ56ELluy_MHc",
"custom_id": "abc123",
"ship_from_country_code": "IT",
"tax_name": "FR Tax",
"ship_from_address": {
"country_code": "IT"
},
Example
Request
The following request specifies both Ship To and From:
{
"transaction": {
"invoice_address": {
"postal_code": "73301"
},
"ship_to_address": {
"country_code": "FR",
"postal_code": "73301"
},
"note": "abc",
"transaction_lines": [
{
"custom_id": "abc123",
"amount": 100,
"product-class": "P",
"ship_from_country_code": "IT",
"ship_from_address": {
"country_code": "IT"
}
},
{
"custom_id": "abc1234",
"amount": 100,
"ship_from_country_code": "IT",
},
{
"custom_id": "abc1235",
"amount": 100,
"ship_from_country_code": "IT",
"ship_from_address": {
"country_code": "IT"
}
}
],
"force_country_code": "FR",
"status": "C",
"currency_code": "EUR",
"billing_country_code": "FR"
}
}
Response
The following response returns the Ship To and From that were specified in the request:
{
"transaction": {
"ship_to_address": {
"country_code": "FR",
"postal_code": "73301"
},
"amount": 300.00,
"invoice_address": {
"postal_code": "73301",
"lookup_result": {
"found": false
},
"tax_area_id": "802500000"
},
"custom_fields": [],
"tax_country_codes": "FR,IT",
"key": "TfRwABJPzvMnAqERulDloKyPBij8",
"tax_amount": 62.00,
"tax_deducted": false,
"tax_region": "EU",
"billing_country_code": "FR",
"confirm_timestamp": "2025-05-19T12:27:45Z",
"merchant_id": 300019,
"evidence": {
"by_ip": {
"evidence_value": "",
"evidence_type": "by-ip"
},
"by_billing": {
"evidence_value": "FR",
"used": true,
"resolved_country_code": "FR",
"evidence_type": "by-billing"
},
"forced": {
"evidence_value": "FR",
"used": true,
"resolved_country_code": "FR",
"evidence_type": "forced"
}
},
"invoice_place": "Default place for test mode",
"create_timestamp": "2025-05-19T12:27:45Z",
"tax_country_code": "FR",
"countries": {
"by_billing": {
"code_long": "FRA",
"name": "France",
"cca2": "FR",
"tax_region": "EU",
"codenum": "250",
"currency": [
"EUR"
],
"code": "FR",
"cca3": "FRA",
"callingCode": [
"33"
],
"tax_number_country_code": "FR",
"tax_supported": true,
"ccn3": "250"
},
"forced": {
"code_long": "FRA",
"name": "France",
"cca2": "FR",
"tax_region": "EU",
"codenum": "250",
"currency": [
"EUR"
],
"code": "FR",
"cca3": "FRA",
"callingCode": [
"33"
],
"tax_number_country_code": "FR",
"tax_supported": true,
"ccn3": "250"
}
},
"transaction_lines": [
{
"amount": 100.00,
"unit_price": 100.00,
"tax_amount": 22.00,
"tax_deducted": false,
"seller_tax_number": "FRSFsR",
"tax_region": "EU",
"cached_rate": false,
"tax_rate": 22,
"additional_currencies": {
"tax": {
"amount": 100.0,
"tax_amount": 22.0,
"total_amount": 122.0
}
},
"tax_country_code": "IT",
"line_key": "pSVgJ56ELluy_MHc",
"custom_id": "abc123",
"ship_from_country_code": "IT",
"tax_name": "FR Tax",
"ship_from_address": {
"country_code": "IT"
},
"tax_rate_checks": [
"CA-GST-enabled",
"CA-BC-PST-enabled",
"CA-SK-PST-enabled",
"CA-QC-QST-enabled",
"CA-MB-RST-enabled"
],
"tax_number_service": "vies",
"product_class": "P",
"line_num": 1,
"quantity": 1,
"total_amount": 122.00,
"tax_components": [
{
"revenue": 100.0,
"tax_amount": 22.00,
"tax_result": "TAXABLE",
"tax_rate": 22,
"tax_authority_name": "ITALY",
"tax_authority_id": "78286",
"tax_name": "VAT",
"revenue_base": 100.0,
"percent_taxable": 1,
"jurisdiction_code": "78286",
"jurisdiction_type": "COUNTRY"
}
],
"tax_entity_name": "Italy",
"tax_supported": true
},
{
"amount": 100.00,
"unit_price": 100.00,
"tax_amount": 20.00,
"tax_deducted": false,
"tax_region": "EU",
"cached_rate": false,
"tax_rate": 20,
"additional_currencies": {
"tax": {
"amount": 100.0,
"tax_amount": 20.0,
"total_amount": 120.0
}
},
"tax_country_code": "FR",
"line_key": "pqdtmDyGZjtqCsrj",
"custom_id": "abc1234",
"ship_from_country_code": "ES",
"tax_name": "FR Tax",
"tax_rate_checks": [
"CA-GST-enabled",
"CA-BC-PST-enabled",
"CA-SK-PST-enabled",
"CA-QC-QST-enabled",
"CA-MB-RST-enabled"
],
"tax_number_service": "vies",
"line_num": 2,
"quantity": 1,
"total_amount": 120.00,
"tax_components": [
{
"revenue": 100.0,
"tax_amount": 20.00,
"tax_result": "TAXABLE",
"tax_rate": 20,
"tax_authority_name": "FRANCE",
"tax_authority_id": "78282",
"tax_name": "VAT",
"revenue_base": 100.0,
"percent_taxable": 1,
"jurisdiction_code": "78282",
"jurisdiction_type": "COUNTRY"
}
],
"tax_entity_name": "France",
"tax_supported": true
},
{
"amount": 100.00,
"unit_price": 100.00,
"tax_amount": 20.00,
"tax_deducted": false,
"tax_region": "EU",
"cached_rate": false,
"tax_rate": 20,
"additional_currencies": {
"tax": {
"amount": 100.0,
"tax_amount": 20.0,
"total_amount": 120.0
}
},
"tax_country_code": "FR",
"line_key": "zqdhlABrExjQ4k0Q",
"custom_id": "abc1235",
"ship_from_country_code": "IT",
"tax_name": "FR Tax",
"ship_from_address": {
"country_code": "IT"
},
"tax_rate_checks": [
"CA-GST-enabled",
"CA-BC-PST-enabled",
"CA-SK-PST-enabled",
"CA-QC-QST-enabled",
"CA-MB-RST-enabled"
],
"tax_number_service": "vies",
"line_num": 3,
"quantity": 1,
"total_amount": 120.00,
"tax_components": [
{
"revenue": 100.0,
"tax_amount": 20.00,
"tax_result": "TAXABLE",
"tax_rate": 20,
"tax_authority_name": "FRANCE",
"tax_authority_id": "78282",
"tax_name": "VAT",
"revenue_base": 100.0,
"percent_taxable": 1,
"jurisdiction_code": "78282",
"jurisdiction_type": "COUNTRY"
}
],
"tax_entity_name": "France",
"tax_supported": true
}
],
"buyer_ip": "",
"note": "abc",
"manual": false,
"force_country_code": "FR",
"country_name": "France",
"product_classes": "PD",
"fully_informative": false,
"tax_engine": "oseries-cloud",
"status": "C",
"kind": "eu-b2c",
"invoice_image_url": "http://v2.root.localhost:3007/api/v1/transactions/TfRwABJPzvMnAqERulDloKyPBij8/invoice",
"tax_number_service": "vies",
"order_date_type": "timestamp",
"update_timestamp": 1747657665044,
"shipment_country_data": {},
"deducted_tax_amount": 0,
"order_date": "2025-05-19T12:27:44Z",
"invoice_capable": true,
"total_amount": 362.00,
"tax_components": [
{
"tax_authority_id": "78286",
"revenue": 100.0,
"tax_name": "VAT",
"jurisdiction_code": "78286",
"tax_amount": 22.00,
"tax_rate": 22,
"revenue_base": 100.0,
"tax_authority_name": "ITALY"
},
{
"tax_authority_id": "78282",
"revenue": 200.0,
"tax_name": "VAT",
"jurisdiction_code": "78282",
"tax_amount": 40.00,
"tax_rate": 20,
"revenue_base": 200.0,
"tax_authority_name": "FRANCE"
}
],
"tax_timezone": "GMT",
"test": true,
"tax_entity_id": 29,
"tax_supported": true,
"tax_location_id": 28,
"currency_code": "EUR"
},
"tax_required_fields": [],
"storage_required_fields": [],
"is_delegated": false
}
Updated 1 day ago