Create a reversal transaction 

Partially or fully reverses a previously created Transaction.

Parameters

  • modeenumRequired

    If partial, the provided line item or shipping cost amounts are reversed. If full, the original transaction is fully reversed.

    Possible enum values
    full

    The original transaction is fully reversed.

    partial

    The provided line item amounts are reversed.

  • original_transactionstringRequired

    The ID of the Transaction to partially or fully reverse.

  • referencestringRequired

    A custom identifier for this reversal, such as myOrder_123-refund_1, which must be unique across all transactions. The reference helps identify this reversal transaction in exported tax reports.

  • flat_amountintegerRequired if mode=partial and line_items nor shipping_cost provided

    A flat amount to reverse across the entire transaction, in the smallest currency unit in negative. This value represents the total amount to refund from the transaction, including taxes.

  • line_itemsarray of objectsRequired if mode=partial and neither shipping_cost nor flat_amount is provided

    The line item amounts to reverse.

  • metadataobject

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More parameters

  • shipping_costobjectRequired if mode=partial and neither line_items nor flat_amount is provided

Returns

A new Tax Transaction object representing the reversal.

POST /v1/tax/transactions/create_reversal
curl https://api.stripe.com/v1/tax/transactions/create_reversal \
-u "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:" \
-d mode=partial \
-d original_transaction=tax_1NaTVd2eZvKYlo2CoOX2Nf7P \
-d reference=myOrder_123-refund_1 \
-d "line_items[0][amount]"=-1499 \
-d "line_items[0][amount_tax]"=-148 \
-d "line_items[0][original_line_item]"=tax_li_ONDxh8JZw14sP8 \
-d "line_items[0][reference]"="refund of Pepperoni Pizza" \
-d "expand[0]"=line_items
Response
{
"id": "tax_1NaTVd2eZvKYlo2CoOX2Nf7P",
"object": "tax.transaction",
"created": 1690938353,
"currency": "usd",
"customer": null,
"customer_details": {
"address": {
"city": null,
"country": "US",
"line1": "354 Oyster Point Blvd",
"line2": "",
"postal_code": "94080",
"state": "CA"
},
"address_source": "shipping",
"ip_address": null,
"tax_ids": [],
"taxability_override": "none"
},
"line_items": {
"object": "list",
"data": [
{
"id": "tax_li_ONDxh8JZw14sP8",
"object": "tax.transaction_line_item",
"amount": 1499,
"amount_tax": 148,
"livemode": false,
"metadata": null,
"product": null,
"quantity": 1,
"reference": "Pepperoni Pizza",
"reversal": null,
"tax_behavior": "exclusive",
"tax_code": "txcd_40060003",
"type": "transaction"
}
],
"has_more": false,
"url": "/v1/tax/transactions/tax_1NaTVd2eZvKYlo2CoOX2Nf7P/line_items"
},
"livemode": false,
"metadata": null,
"posted_at": 1690932566,
"reference": "myOrder_123",
"reversal": null,
"shipping_cost": {
"amount": 300,
"amount_tax": 0,
"tax_behavior": "exclusive",
"tax_code": "txcd_92010001"
},
"tax_date": 1690938353,
"type": "transaction"
}

Create a transaction from a calculation 

Creates a Tax Transaction from a calculation, if that calculation hasn’t expired. Calculations expire after 90 days.

Parameters

  • calculationstringRequired

    Tax Calculation ID to be used as input when creating the transaction.

  • referencestringRequired

    A custom order or sale identifier, such as ‘myOrder_123’. Must be unique across all transactions, including reversals.

  • metadataobject

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More parameters

  • posted_attimestamp

Returns

A Tax Transaction object.

POST /v1/tax/transactions/create_from_calculation
curl https://api.stripe.com/v1/tax/transactions/create_from_calculation \
-u "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:" \
-d calculation=taxcalc_1NaTVT2eZvKYlo2CsqGeLeU2 \
-d reference=myOrder_123 \
-d "expand[]"=line_items
Response
{
"id": "tax_1NaTVd2eZvKYlo2CoOX2Nf7P",
"object": "tax.transaction",
"created": 1690938353,
"currency": "usd",
"customer": null,
"customer_details": {
"address": {
"city": null,
"country": "US",
"line1": "354 Oyster Point Blvd",
"line2": "",
"postal_code": "94080",
"state": "CA"
},
"address_source": "shipping",
"ip_address": null,
"tax_ids": [],
"taxability_override": "none"
},
"line_items": {
"object": "list",
"data": [
{
"id": "tax_li_ONDxh8JZw14sP8",
"object": "tax.transaction_line_item",
"amount": 1499,
"amount_tax": 148,
"livemode": false,
"metadata": null,
"product": null,
"quantity": 1,
"reference": "Pepperoni Pizza",
"reversal": null,
"tax_behavior": "exclusive",
"tax_code": "txcd_40060003",
"type": "transaction"
}
],
"has_more": false,
"url": "/v1/tax/transactions/tax_1NaTVd2eZvKYlo2CoOX2Nf7P/line_items"
},
"livemode": false,
"metadata": null,
"posted_at": 1690932566,
"reference": "myOrder_123",
"reversal": null,
"shipping_cost": {
"amount": 300,
"amount_tax": 0,
"tax_behavior": "exclusive",
"tax_code": "txcd_92010001"
},
"tax_date": 1690938353,
"type": "transaction"
}

Retrieve a transaction's line items 

Retrieves the line items of a committed standalone transaction as a collection.

Parameters

  • ending_beforestring

    A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

  • limitinteger

    A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

  • starting_afterstring

    A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

Returns

A list of Line Item objects if the Tax Transaction is found. Otherwise returns a ‘not found’ error.

GET /v1/tax/transactions/:id/line_items
curl https://api.stripe.com/v1/tax/transactions/tax_1NaTVd2eZvKYlo2CoOX2Nf7P/line_items \
-u "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:"
Response
{
"id": "tax_1NaTVd2eZvKYlo2CoOX2Nf7P",
"object": "list",
"url": "/v1/tax/transactions/tax_1NaTVd2eZvKYlo2CoOX2Nf7P/line_items",
"has_more": false,
"data": [
{
"id": "tax_li_ONDxh8JZw14sP8",
"object": "tax.transaction_line_item",
"amount": 1499,
"amount_tax": 148,
"livemode": false,
"metadata": null,
"product": null,
"quantity": 1,
"reference": "Pepperoni Pizza",
"reversal": null,
"tax_behavior": "exclusive",
"tax_code": "txcd_40060003",
"type": "transaction"
}
]
}

Retrieve a transaction 

Retrieves a Tax Transaction object.

Parameters

No parameters.

Returns

A Tax Transaction object.

GET /v1/tax/transactions/:id
curl https://api.stripe.com/v1/tax/transactions/tax_1NaS0I2eZvKYlo2CRuMhUcmz \
-u "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:"
Response
{
"id": "tax_1NaS0I2eZvKYlo2CRuMhUcmz",
"object": "tax.transaction",
"created": 1690932566,
"currency": "usd",
"customer": null,
"customer_details": {
"address": {
"city": "South San Francisco",
"country": "US",
"line1": "354 Oyster Point Blvd",
"line2": "",
"postal_code": "94080",
"state": "CA"
},
"address_source": "shipping",
"ip_address": null,
"tax_ids": [],
"taxability_override": "none"
},
"line_items": {
"object": "list",
"data": [
{
"id": "tax_li_ONCP443tgfS8I1",
"object": "tax.transaction_line_item",
"amount": 1499,
"amount_tax": 148,
"livemode": false,
"metadata": null,
"product": null,
"quantity": 1,
"reference": "Pepperoni Pizza",
"reversal": null,
"tax_behavior": "exclusive",
"tax_code": "txcd_40060003",
"type": "transaction"
}
],
"has_more": false,
"url": "/v1/tax/transactions/tax_1NaS0I2eZvKYlo2CRuMhUcmz/line_items"
},
"livemode": false,
"metadata": null,
"posted_at": 1690932566,
"reference": "myOrder_123",
"reversal": null,
"shipping_cost": {
"amount": 300,
"amount_tax": 0,
"tax_behavior": "exclusive",
"tax_code": "txcd_92010001"
},
"ship_from_details": {
"address": {
"postal_code": "75001",
"state": "TX",
"country": "US"
}
},
"tax_date": 1690932566,
"type": "transaction"
}

Tax Settings 

You can use Tax Settings to manage configurations used by Stripe Tax calculations.

Related guide: Using the Settings API