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 FieldDescription
ship_to_address.country_codeThe country that the the goods are shipped to. This is added at the transaction level.
ship_from_country_codeThe 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_codeThe 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
}