POST
/
transactions
/
{transaction_id}
/
void
C#
using Gr4vy;
using Gr4vy.Models.Components;

var sdk = new Gr4vySDK(
    id: "example",
    server: SDKConfig.Server.Sandbox,
    bearerAuthSource: Auth.WithToken(privateKey),
    merchantAccountId: "default"
);

var res = await sdk.Transactions.VoidAsync(transactionId: "7099948d-7286-47e4-aad8-b68f7eb44591");

// handle response
{
  "type": "transaction",
  "id": "7099948d-7286-47e4-aad8-b68f7eb44591",
  "reconciliation_id": "default",
  "merchant_account_id": "default",
  "currency": "EUR",
  "amount": 1299,
  "status": "authorization_succeeded",
  "authorized_amount": 1299,
  "captured_amount": 1299,
  "refunded_amount": 1299,
  "settled_currency": "USD",
  "settled_amount": 1100,
  "settled": true,
  "country": "US",
  "external_identifier": "transaction-12345",
  "intent": "capture",
  "payment_method": {
    "type": "payment-method",
    "approval_url": "https://gr4vy.app/redirect/12345",
    "country": "US",
    "currency": "USD",
    "details": {
      "bin": "<string>",
      "card_type": "credit",
      "card_issuer_name": "<string>"
    },
    "expiration_date": "12/30",
    "fingerprint": "20eb353620155d2b5fc864cc46a73ea77cb92c725238650839da1813fa987a17",
    "label": "1234",
    "last_replaced_at": "2013-07-16T19:23:00.000+00:00",
    "method": "card",
    "mode": "card",
    "scheme": "visa",
    "id": "852b951c-d7ea-4c98-b09e-4a1c9e97c077",
    "approval_target": "any",
    "external_identifier": "card-12345",
    "payment_account_reference": "V0010014629724763377327521982"
  },
  "method": "card",
  "instrument_type": "pan",
  "error_code": "missing_redirect_url",
  "payment_service": {
    "type": "payment-service",
    "id": "824ff064-7f4b-430b-9801-59aff90d013e",
    "payment_service_definition_id": "stripe-card",
    "method": "card",
    "display_name": "Stripe USA"
  },
  "pending_review": false,
  "buyer": {
    "type": "buyer",
    "id": "fe26475d-ec3e-4884-9553-f7356683f7f9",
    "display_name": "John Doe",
    "external_identifier": "buyer-12345",
    "billing_details": {
      "first_name": "John",
      "last_name": "Doe",
      "email_address": "john@example.com",
      "phone_number": "+1234567890",
      "address": {
        "city": "San Jose",
        "country": "US",
        "postal_code": "94560",
        "state": "California",
        "state_code": "US-CA",
        "house_number_or_name": "10",
        "line1": "Stafford Appartments",
        "line2": "29th Street",
        "organization": "Gr4vy"
      },
      "tax_id": {
        "value": "12345678931",
        "kind": "us.ein"
      }
    },
    "account_number": "<string>"
  },
  "raw_response_code": "E104",
  "raw_response_description": "Missing redirect URL",
  "shipping_details": {
    "first_name": "John",
    "last_name": "Doe",
    "email_address": "john@example.com",
    "phone_number": "+1234567890",
    "address": {
      "city": "San Jose",
      "country": "US",
      "postal_code": "94560",
      "state": "California",
      "state_code": "US-CA",
      "house_number_or_name": "10",
      "line1": "Stafford Appartments",
      "line2": "29th Street",
      "organization": "Gr4vy"
    },
    "id": "bf8c36ad-02d9-4904-b0f9-a230b149e341",
    "buyer_id": "fe26475d-ec3e-4884-9553-f7356683f7f9",
    "type": "shipping-details"
  },
  "checkout_session_id": "4137b1cf-39ac-42a8-bad6-1c680d5dab6b",
  "gift_card_redemptions": [
    {
      "type": "gift-card-redemption",
      "id": "31e65fb1-9c67-432e-9c06-83300b9d4059",
      "status": "succeeded",
      "amount": 100,
      "refunded_amount": 50,
      "gift_card_service_redemption_id": "xYqd43gySMtori",
      "error_code": "expired_card",
      "raw_error_code": "10001",
      "raw_error_message": "Card expired",
      "gift_card": {
        "type": "gift-card",
        "id": "356d56e5-fe16-42ae-97ee-8d55d846ae2e",
        "bin": "412345",
        "sub_bin": "554",
        "last4": "1234"
      }
    }
  ],
  "gift_card_service": {
    "type": "gift-card-service",
    "id": "35b60feec-a7c7-4844-b503-f39b09192d81",
    "gift_card_service_definition_id": "qwikcilver-gift-card",
    "display_name": "Qwikcilver USA"
  },
  "created_at": "2013-07-16T19:23:00.000+00:00",
  "updated_at": "2013-07-16T19:23:00.000+00:00",
  "disputed": true,
  "airline": {
    "booking_code": "X36Q9C",
    "is_cardholder_traveling": true,
    "issued_address": "123 Broadway, New York",
    "issued_at": "2013-07-16T19:23:00.000+00:00",
    "issuing_carrier_code": "649",
    "issuing_carrier_name": "Air Transat A.T. Inc",
    "issuing_iata_designator": "TS",
    "issuing_icao_code": "TSC",
    "legs": [
      {
        "arrival_airport": "LAX",
        "arrival_at": "2013-07-16T19:23:00.000+00:00",
        "arrival_city": "Los Angeles",
        "arrival_country": "US",
        "carrier_code": "649",
        "carrier_name": "Air Transat A.T. Inc",
        "iata_designator": "TS",
        "icao_code": "TSC",
        "coupon_number": "15885566",
        "departure_airport": "LHR",
        "departure_at": "2013-07-16T19:23:00.000+00:00",
        "departure_city": "London",
        "departure_country": "GB",
        "departure_tax_amount": 1200,
        "fare_amount": 129900,
        "fare_basis_code": "FY",
        "fee_amount": 1200,
        "flight_class": "E",
        "flight_number": "101",
        "route_type": "round_trip",
        "seat_class": "F",
        "stop_over": false,
        "tax_amount": 1200
      }
    ],
    "passenger_name_record": "JOHN L",
    "passengers": [
      {
        "age_group": "adult",
        "date_of_birth": "2013-07-16",
        "email_address": "john@example.com",
        "first_name": "John",
        "frequent_flyer_number": "15885566",
        "last_name": "Luhn",
        "passport_number": "11117700225",
        "phone_number": "+1234567890",
        "ticket_number": "BA1236699999",
        "title": "Mr.",
        "country_code": "US"
      }
    ],
    "reservation_system": "Amadeus",
    "restricted_ticket": false,
    "ticket_delivery_method": "electronic",
    "ticket_number": "123-1234-151555",
    "travel_agency_code": "12345",
    "travel_agency_invoice_number": "EG15555155",
    "travel_agency_name": "ACME Agency",
    "travel_agency_plan_name": "B733"
  },
  "auth_response_code": "00",
  "avs_response_code": "match",
  "cvv_response_code": "match",
  "anti_fraud_decision": "accept",
  "payment_source": "ecommerce",
  "merchant_initiated": true,
  "is_subsequent_payment": false,
  "cart_items": [
    {
      "name": "GoPro HD",
      "quantity": 2,
      "unit_amount": 1299,
      "discount_amount": 0,
      "tax_amount": 0,
      "external_identifier": "goprohd",
      "sku": "GPHD1078",
      "product_url": "https://example.com/catalog/go-pro-hd",
      "image_url": "https://example.com/images/go-pro-hd.jpg",
      "categories": [
        "camera",
        "travel",
        "gear"
      ],
      "product_type": "physical",
      "seller_country": "US",
      "tax_exempt": false,
      "unit_of_measure": "feet",
      "commodity_code": "43211503",
      "description": "A brief description of an interesting item.",
      "duty_amount": 1299,
      "shipping_amount": 1299
    }
  ],
  "statement_descriptor": {
    "name": "ACME",
    "description": "ACME San Jose Electronics",
    "city": "San Jose",
    "country": "US",
    "phone_number": "+1234567890",
    "url": "www.example.com",
    "postal_code": "94560"
  },
  "scheme_transaction_id": "123456789012345",
  "three_d_secure": {
    "version": "2.2.0",
    "status": "complete",
    "method": "challenge",
    "response_data": {
      "cavv": "3q2+78r+ur7erb7vyv66vv8=",
      "eci": "05",
      "version": "2.1.0",
      "directory_response": "C",
      "scheme": "visa",
      "authentication_response": "Y",
      "cavv_algorithm": "A",
      "xid": "12345"
    },
    "error_data": {
      "code": "305",
      "description": "Invalid ThreeDSCompInd",
      "detail": "The threeDSCompInd must be 'Y' when successful",
      "component": "C"
    }
  },
  "payment_service_transaction_id": "tx-12345",
  "additional_identifiers": {
    "payment_service_authorization_id": "auth-12345",
    "payment_service_capture_id": "capture-12345"
  },
  "metadata": {
    "cohort": "cohort-12345",
    "order": "order-12345"
  },
  "authorized_at": "2013-07-16T19:23:00.000+00:00",
  "captured_at": "2013-07-16T19:23:00.000+00:00",
  "voided_at": "2013-07-16T19:23:00.000+00:00",
  "canceled_at": "2013-07-16T19:23:00.000+00:00",
  "approval_expires_at": "2013-07-16T19:23:00.000+00:00",
  "buyer_approval_timedout_at": "2013-07-16T19:23:00.000+00:00",
  "intent_outcome": "succeeded",
  "multi_tender": true,
  "account_funding_transaction": true,
  "recipient": {
    "first_name": "",
    "last_name": "",
    "address": {
      "city": "San Jose",
      "country": "US",
      "postal_code": "94560",
      "state": "California",
      "state_code": "US-CA",
      "house_number_or_name": "10",
      "line1": "Stafford Appartments",
      "line2": "29th Street",
      "organization": "Gr4vy"
    },
    "account_number": "act12345",
    "date_of_birth": "1995-12-23"
  },
  "merchant_advice_code": "02",
  "installment_count": 3
}
This endpoint requires the transactions.write scope.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

prefer
string[] | null

The preferred resource type in the response.

Examples:

"resource=transaction"

"resource=transaction-void"

x-gr4vy-merchant-account-id
string | null

The ID of the merchant account to use for this request.

Examples:

"default"

Path Parameters

transaction_id
string<uuid>
required

The ID of the transaction

Examples:

"7099948d-7286-47e4-aad8-b68f7eb44591"

Response

Successful Response

A full transaction resource.

id
string<uuid>
required

The ID for the transaction.

Examples:

"7099948d-7286-47e4-aad8-b68f7eb44591"

reconciliation_id
string
required

The base62 encoded transaction ID. This represents a shorter version of this transaction's id which is sent to payment services, anti-fraud services, and other connectors. You can use this ID to reconcile a payment service's transaction against our system. This ID is sent instead of the transaction ID because not all services support 36 digit identifiers.

Examples:

"default"

merchant_account_id
string
required

The ID of the merchant account this transaction belongs to.

Examples:

"default"

currency
string
required

The currency code for this transaction.

Examples:

"EUR"

"GBP"

"USD"

amount
integer
required

The total amount for this transaction across all funding sources including gift cards.

Examples:

1299

status
enum<string>
required

The status of the transaction for the payment_method. The status may change over time as asynchronous processing events occur.

Available options:
processing,
authorization_succeeded,
authorization_declined,
authorization_failed,
authorization_voided,
authorization_void_pending,
capture_succeeded,
capture_pending,
buyer_approval_pending
Examples:

"authorization_succeeded"

authorized_amount
integer
required

The amount for this transaction that has been authorized for the payment_method. This can be less than the amount if gift cards were used.

Examples:

1299

captured_amount
integer
required

The total amount captured for this transaction, in the smallest currency unit (for example, cents or pence). This can be the full value of the authorized_amount or less.

Examples:

1299

refunded_amount
integer
required

The total amount refunded for this transaction, in the smallest currency unit (for example, cents or pence). This can be the full value of the captured_amount or less.

Examples:

1299

settled_amount
integer
required

The net amount settled for this transaction, in the smallest currency unit (for example, cents or pence).

Examples:

1100

settled
boolean
required

Indicates whether this transaction has been settled.

Examples:

true

intent
enum<string>
required

The original intent used when the transaction was created.

Available options:
authorize,
capture
Examples:

"capture"

gift_card_redemptions
GiftCardRedemption · object[]
required

The gift cards redeemed for this transaction.

created_at
string<date-time>
required

The date and time when the transaction was created, in ISO 8601 format.

Examples:

"2013-07-16T19:23:00.000+00:00"

updated_at
string<date-time>
required

The date and time when the transaction was last updated, in ISO 8601 format.

Examples:

"2013-07-16T19:23:00.000+00:00"

disputed
boolean
required

Indicates whether this transaction has been disputed.

Examples:

true

payment_source
enum<string>
required

The way payment method information made it to this transaction.

Available options:
ecommerce,
moto,
recurring,
installment,
card_on_file
Examples:

"ecommerce"

merchant_initiated
boolean
required

Indicates whether the transaction was initiated by the merchant or the customer.

Examples:

true

is_subsequent_payment
boolean
required

Indicates whether the transaction represents a subsequent payment or an initial one.

Examples:

false

intent_outcome
enum<string>
required

The outcome of the original intent of a transaction. This allows you to understand if the intent of the transaction (e.g. capture or authorize) has been achieved when dealing with multiple payment instruments.

Available options:
pending,
succeeded,
failed
Examples:

"succeeded"

multi_tender
boolean
required

The outcome of the original intent of a transaction. This allows you to understand if the intent of the transaction (e.g. capture or authorize) has been achieved when dealing with multiple payment instruments.

Examples:

true

account_funding_transaction
boolean
required

Marks the transaction as an AFT. Requires the payment service to support this feature, and might recipient and buyer data

Examples:

true

type
string
default:transaction

Always transaction.

Allowed value: "transaction"
Examples:

"transaction"

settled_currency
string | null

The ISO 4217 currency code of this transaction's settlement.

Examples:

"EUR"

"GBP"

"USD"

country
string | null

The 2-letter ISO 3166-1 alpha-2 country code for the transaction. Used to filter payment services for processing.

Examples:

"DE"

"GB"

"US"

external_identifier
string | null

An external identifier that can be used to match the transaction against your own records.

Required string length: 1 - 200
Examples:

"transaction-12345"

payment_method
object | null

The payment method used for this transaction.

method
enum<string> | null

The method used for the transaction.

Available options:
abitab,
affirm,
afterpay,
alipay,
alipayhk,
applepay,
arcuspaynetwork,
bacs,
bancontact,
banked,
bcp,
becs,
bitpay,
blik,
boleto,
boost,
card,
cashapp,
chaseorbital,
clearpay,
click-to-pay,
dana,
dcb,
dlocal,
ebanx,
efecty,
eps,
everydaypay,
gcash,
gem,
gemds,
gift-card,
giropay,
givingblock,
gocardless,
googlepay,
googlepay_pan_only,
gopay,
grabpay,
ideal,
kakaopay,
kcp,
khipu,
klarna,
latitude,
latitudeds,
laybuy,
linepay,
linkaja,
maybankqrpay,
mercadopago,
multibanco,
multipago,
nequi,
netbanking,
network-token,
nupay,
oney_10x,
oney_12x,
oney_3x,
oney_4x,
oney_6x,
ovo,
oxxo,
p24,
pagoefectivo,
payid,
paymaya,
paypal,
paypalpaylater,
payto,
payvalida,
picpay,
pix,
pse,
rabbitlinepay,
razorpay,
rapipago,
redpagos,
scalapay,
sepa,
servipag,
shopeepay,
singteldash,
smartpay,
sofort,
spei,
stitch,
stripedd,
stripetoken,
tapi,
tapifintechs,
thaiqr,
touchngo,
truemoney,
trustly,
trustlyeurope,
upi,
venmo,
vipps,
waave,
webpay,
wechat,
yape,
zippay
Examples:

"card"

instrument_type
enum<string> | null

The name of the instrument used to process the transaction.

Available options:
pan,
card_token,
redirect,
redirect_token,
googlepay,
applepay,
network_token
Examples:

"pan"

error_code
string | null

The standardized error code set by Gr4vy.

Examples:

"missing_redirect_url"

payment_service
object | null

The payment service used for this transaction.

pending_review
boolean
default:false

Whether a manual anti fraud review is pending with an anti fraud service.

Examples:

false

buyer
object | null

The buyer used for this transaction.

raw_response_code
string | null

This is the response code received from the payment service. This can be set to any value and is not standardized across different payment services.

Examples:

"E104"

raw_response_description
string | null

This is the response description received from the payment service. This can be set to any value and is not standardized across different payment services.

Examples:

"Missing redirect URL"

shipping_details
object | null

The shipping details associated with the transaction.

checkout_session_id
string<uuid> | null

The identifier for the checkout session this transaction is associated with.

Examples:

"4137b1cf-39ac-42a8-bad6-1c680d5dab6b"

gift_card_service
object | null

The gift card service used for this transaction.

airline
object | null

Contains information about an airline travel, if applicable. Information about an airline travel.

auth_response_code
string | null

This is the response description received from the processor.

Examples:

"00"

avs_response_code
enum<string> | null

The response code received from the payment service for the Address Verification Check (AVS). This code is mapped to a standardized Gr4vy AVS response code.

Available options:
match,
no_match,
partial_match_address,
partial_match_postcode,
partial_match_name,
unavailable
Examples:

"match"

cvv_response_code
enum<string> | null

The response code received from the payment service for the Card Verification Value (CVV). This code is mapped to a standardized Gr4vy CVV response code.

Available options:
match,
no_match,
unavailable,
not_provided
Examples:

"match"

anti_fraud_decision
enum<string> | null

The mapped decision received from the anti-fraud service. In case of a review decision this field is not updated once the review is resolved.

Available options:
accept,
error,
exception,
reject,
review,
skipped
Examples:

"accept"

cart_items
CartItem · object[] | null

An array of cart items that represents the line items of a transaction.

statement_descriptor
object | null

The statement descriptor is the text to be shown on the buyer's statements. Information to show the user on their payments statement

scheme_transaction_id
string | null

An identifier for the transaction used by the scheme itself, when available.

Examples:

"123456789012345"

three_d_secure
object | null

The 3-D Secure data that was sent to the payment service for the transaction.

payment_service_transaction_id
string | null

The payment service's unique ID for the transaction.

Examples:

"tx-12345"

additional_identifiers
object

A list of additional identifiers that we may keep track of to manage this transaction. This may include the authorization ID, capture ID, and processor ID, as well as an undefined list of additional identifiers.

Examples:
{
"payment_service_authorization_id": "auth-12345",
"payment_service_capture_id": "capture-12345"
}
metadata
object | null

Additional information about the transaction stored as key-value pairs.

Examples:
{
"cohort": "cohort-12345",
"order": "order-12345"
}
authorized_at
string<date-time> | null

The date this transaction was authorized at.

Examples:

"2013-07-16T19:23:00.000+00:00"

captured_at
string<date-time> | null

The date this transaction was captured at.

Examples:

"2013-07-16T19:23:00.000+00:00"

voided_at
string<date-time> | null

The date this transaction was voided at.

Examples:

"2013-07-16T19:23:00.000+00:00"

canceled_at
string<date-time> | null

The date this transaction was canceled at.

Examples:

"2013-07-16T19:23:00.000+00:00"

approval_expires_at
string<date-time> | null

The date this transaction's approval URL will expire at.

Examples:

"2013-07-16T19:23:00.000+00:00"

buyer_approval_timedout_at
string<date-time> | null

The date this transaction's approval timed out at.

Examples:

"2013-07-16T19:23:00.000+00:00"

recipient
object | null

The recipient of any account to account funding. For use with AFTs. Recipient of an account funding transaction

merchant_advice_code
string | null

An optional merchant advice code which provides insight into the type of transaction or reason why the payment failed.

Examples:

"02"

"21"

installment_count
integer | null

The number of installments for this transaction, if applicable.

Examples:

3