---
updatedAt: 2026-02-12T20:46:30.000Z
agentTools:
  projectIndex: https://docs.withreach.com/llms.txt
---

# /checkout

Creates a supplier's order within Reach and attempts authorization of the payment.


# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "version": "2.22",
    "title": "Reach Checkout API",
    "contact": {
      "email": "support@withreach.com"
    },
    "description": "June 2022 <br>withreach.com<br>docs.withreach.com<br><br> Reach's Checkout API provides suppliers the ability to execute and manage payment processing for consumer orders while retaining control over the shopper experience and limiting PCI DSS exposure. Creating payment orders, refunding payments, and querying available foreign exchange rates and payment methods are all provided by this JSON-based API.\n"
  },
  "servers": [
    {
      "description": "Reach Sandbox",
      "url": "https://checkout.rch.how/v2.22"
    },
    {
      "description": "Reach Dev",
      "url": "https://checkout.rch.red/v2.22"
    }
  ],
  "paths": {
    "/checkout": {
      "post": {
        "operationId": "checkout",
        "description": "Creates a supplier's order within Reach and attempts authorization of the payment.\n",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "request",
                      "signature"
                    ],
                    "properties": {
                      "request": {
                        "type": "object",
                        "required": [
                          "MerchantId",
                          "ConsumerCurrency",
                          "Items",
                          "Consumer",
                          "PaymentModel"
                        ]
                      },
                      "card": {
                        "description": "If the supplier adheres to the  [PCI DSS SAQ-A-EP](https://www.pcisecuritystandards.org/documents/PCI-DSS-v3_2-SAQ-A_EP-rev1_1.pdf),  requirements, card details may be added to the API call. However, because card details are not part of the main request body, this object is not  included in signature calculation. Card details may also be passed to  Reach via the [Stash](https://docs.withreach.com/docs/stash) request.\n",
                        "type": "object",
                        "properties": {
                          "Name": {
                            "description": "The name of the cardholder as it appears on the card.",
                            "type": "string"
                          },
                          "Number": {
                            "description": "The card number, without punctuation or whitespace.",
                            "type": "string"
                          },
                          "Expiry": {
                            "description": "The expiration date of the card.",
                            "type": "object",
                            "properties": {
                              "Month": {
                                "description": "The expiry month, 1-12.",
                                "type": "integer",
                                "format": "int",
                                "example": 3
                              },
                              "Year": {
                                "description": "The expiry year, unabbreviated (e.g. 2020).",
                                "type": "integer",
                                "format": "int",
                                "example": 2050
                              }
                            },
                            "required": [
                              "Month",
                              "Year"
                            ]
                          },
                          "VerificationCode": {
                            "description": "The card verification code. Although these are typically digits, leading zeros are significant so this must be transmitted as a string.  This may be omitted only if PreviousNetworkPaymentReference is specified.",
                            "type": "string"
                          },
                          "PreviousNetworkPaymentReference": {
                            "description": "If the card details are from a vault, the card network payment reference (e.g. VISA transaction id) of a previous payment using the same card.  This can be used in lieu of a VerificationCode.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "Name",
                          "Number",
                          "Expiry"
                        ]
                      },
                      "signature": {
                        "description": "Computed SHA256 HMAC value of the `request` JSON object (before any encoding) using the shared secret provided by Reach. See  [Signature Calculation](https://docs.withreach.com/docs/signature-calculation) for more details.\n",
                        "type": "string"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "MerchantId": {
                            "description": "The 36 character GUID which identifies the supplier to the Reach system.\n",
                            "type": "string",
                            "format": "uuid"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "ReferenceId": {
                            "description": "An optional string identifying the order in the supplier's order management system.  If specified, this is returned in the notification of a processed order, so that the supplier's system can cross-reference the Reach order with the supplier's order data.\n",
                            "type": "string"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "DeviceFingerprint": {
                            "description": "The device fingerprint as returned by Reach from the fingerprint request. This is not required for merchant-initiated PaymentModels.\n",
                            "type": "string"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "ConsumerCurrency": {
                            "description": "The upper-case 3 character ISO 4217 currency code which the shopper has indicated is their preferred currency.\n",
                            "type": "string",
                            "pattern": "^[A-Z]{3}$"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "RateOfferId": {
                            "description": "The 36 character GUID for a guaranteed foreign exchange rate. If omitted, the rate will be determined at the time of settlement.\n",
                            "type": "string",
                            "format": "uuid"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "Items": {
                            "description": "An array of objects containing information for each product in the shopper's order.\n",
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "Sku",
                                "ConsumerPrice",
                                "Quantity"
                              ],
                              "properties": {
                                "Sku": {
                                  "description": "The supplier's Stock Keeping Unit for the item.\n",
                                  "type": "string"
                                },
                                "ConsumerPrice": {
                                  "description": "The unit price of the item expressed in the consumer currency. This, combined with the Quantity, is used to produce the total item value. Prices with up to two decimal places of precision are supported.\n",
                                  "type": "number",
                                  "format": "double"
                                },
                                "Quantity": {
                                  "type": "number",
                                  "format": "double"
                                },
                                "Description": {
                                  "type": "string"
                                },
                                "ImageUrl": {
                                  "type": "string",
                                  "format": "uri"
                                },
                                "PreorderDate": {
                                  "description": "For a pre-ordered item, the expected date (in UTC) that the merchandise will be available, in YYYY-MM-DD format.\n",
                                  "type": "string",
                                  "format": "date"
                                },
                                "Reorder": {
                                  "description": "Indicates whether the consumer is reordering a previously purchased item.\n",
                                  "type": "boolean"
                                },
                                "GiftCard": {
                                  "description": "Indicates whether this item is a gift card.\n",
                                  "type": "boolean"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "Shipping": {
                            "description": "If physical shipping of goods is required for this order, Shipping must be specified before authorization.\n",
                            "type": "object",
                            "properties": {
                              "ConsumerPrice": {
                                "description": "The amount, including all service fees, surcharges, etc, but excluding taxes and duty, associated with the physical shipping option.\n",
                                "type": "number",
                                "format": "double"
                              },
                              "ConsumerTaxes": {
                                "description": "Taxes incurred for the entire order.\n",
                                "type": "number",
                                "format": "double"
                              },
                              "ConsumerDuty": {
                                "description": "Duty incurred for the entire order.\n",
                                "type": "number",
                                "format": "double"
                              },
                              "Timeframe": {
                                "description": "Indicates the merchandise delivery timeframe. One of:<br> __SameDay__ - Same day shipping<br> __Overnight__ - Overnight shipping<br> __TwoOrMore__ - Two-day or more shipping\n",
                                "type": "string"
                              }
                            },
                            "required": [
                              "ConsumerPrice",
                              "ConsumerTaxes",
                              "ConsumerDuty"
                            ]
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "Charges": {
                            "description": "An optional array of objects containing additional charges associated with this order. The sum of all charges will be added to the total amount charged to the consumer.\n",
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "Name",
                                "ConsumerPrice"
                              ],
                              "properties": {
                                "Name": {
                                  "type": "string"
                                },
                                "ConsumerPrice": {
                                  "description": "The consumer price associated with the charge.\n",
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "Discounts": {
                            "description": "An optional array of objects containing discounts associated with this order. The sum of all discounts will be subtracted from the total amount charged to the consumer.\n",
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "Name",
                                "ConsumerPrice"
                              ],
                              "properties": {
                                "Name": {
                                  "type": "string"
                                },
                                "ConsumerPrice": {
                                  "description": "The consumer price associated with the discount. Note that since this amount is subtracted from the total amount charged to the consumer, it _should not_ be negative.\n",
                                  "type": "number",
                                  "format": "double"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "Financing": {
                            "description": "Must be included if a financing option is selected by the consumer.\n",
                            "type": "object",
                            "properties": {
                              "Instalments": {
                                "description": "The number of instalments in which the full amount will be charged.\n",
                                "type": "integer"
                              },
                              "ConsumerPrice": {
                                "description": "The consumer price charged to the consumer for the financing option, independent of the financing charge to the supplier returned by getPaymentMethods. Specified in the consumer currency.\n",
                                "type": "number",
                                "format": "double"
                              }
                            },
                            "required": [
                              "Instalments",
                              "ConsumerPrice"
                            ]
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "ConsumerTotal": {
                            "description": "If specified, this serves as a check to ensure that the total amount charged to the consumer is as specified. The sum of all items and charges, plus the total amount associated with shipping (if applicable) minus the sum of all discounts, plus the financing price, must be equal to this amount.\n",
                            "type": "number",
                            "format": "double"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "Consumer": {
                            "description": "A Consumer is the person paying for an order and is sometimes referred to as the billing contact. This information must match the address on file for the payment method used.\n",
                            "type": "object",
                            "properties": {
                              "Name": {
                                "description": "The consumer's full name.\n",
                                "type": "string"
                              },
                              "Company": {
                                "description": "The company associated with the consumer, when applicable. Required if a corporate NationalIdentifier is specified (e.g. CNPJ in Brazil).\n",
                                "type": "string"
                              },
                              "Email": {
                                "type": "string"
                              },
                              "Phone": {
                                "description": "The consumer's phone number is required for some payment methods and/or countries. Ideally specified using E.164 formatting, but this is not enforced.\n",
                                "type": "string"
                              },
                              "Address": {
                                "description": "The consumer's street address.\n",
                                "type": "string"
                              },
                              "City": {
                                "description": "The city associated with the consumer's address.\n",
                                "type": "string"
                              },
                              "Region": {
                                "description": "The ISO-3166-2 subdivision code for the region (state, province, etc.) associated with the consumer's address, not including the country code or dash. (eg NS, not CA-NS). This field may be omitted if there are no states/regions in the specified country.\n",
                                "type": "string"
                              },
                              "PostalCode": {
                                "description": "The postal code associated with the consumer's address. This field may be omitted if there are no postal codes in the specified country.\n",
                                "type": "string"
                              },
                              "Country": {
                                "description": "The upper-case ISO 3166 alpha-2 country code associated with the consumer's address.\n",
                                "type": "string",
                                "pattern": "^[A-Z]{2}$"
                              },
                              "NationalIdentifier": {
                                "description": "The country-specific unique identifier of the consumer, without punctuation.  It is required for some payment methods and/or countries and is commonly related to taxes.  Examples are SSN for the United States, SIN for Canada, CPF or CNPJ for Brazil or PAN for India.\n",
                                "type": "string"
                              },
                              "BirthDate": {
                                "description": "Required for some payment methods and/or countries. Must be specified as YYYY-MM-DD.\n",
                                "type": "string",
                                "format": "date"
                              },
                              "IpAddress": {
                                "description": "If the request does not originate from the consumer's browser for a consumer-initiated PaymentModel, the IP address of the consumer must be specified before authorization.\n",
                                "oneOf": [
                                  {
                                    "type": "string",
                                    "format": "ipv4"
                                  },
                                  {
                                    "type": "string",
                                    "format": "ipv6"
                                  }
                                ]
                              },
                              "ConsumerProfile": {
                                "description": "Optional information about the consumer's account with the supplier. This may be used for risk analysis, particularly for 3-D Secure version 2.\n",
                                "type": "object",
                                "properties": {
                                  "ConsumerProfileId": {
                                    "description": "The supplier's identifier for the consumer's profile. If submitted, this will link the consumer's orders for use in fraud analysis.\n",
                                    "type": "string"
                                  },
                                  "OpenDate": {
                                    "description": "Date (in UTC) that the consumer opened the account with the supplier. May be a YYYY-MM-DD date, ThisTime if the account was opened as part of this checkout, or Never for a guest checkout.\n",
                                    "type": "string",
                                    "pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])|ThisTime|Never$"
                                  },
                                  "LastChange": {
                                    "description": "Date (in UTC) that the consumer's account with the supplier was last changed, including billing or shipping address, new payment account, or new user(s) added. May be a YYYY-MM-DD date, ThisTime or Never.\n",
                                    "type": "string",
                                    "pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])|ThisTime|Never$"
                                  },
                                  "LastPasswordChange": {
                                    "description": "Date  (in UTC) that consumer's account with the supplier had a password change or account reset. May be a YYYY-MM-DD date, ThisTime or Never.\n",
                                    "type": "string",
                                    "pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])|ThisTime|Never$"
                                  },
                                  "Purchases6Months": {
                                    "description": "Number of purchases with this consumer account during the previous six months.\n",
                                    "type": "integer"
                                  },
                                  "AddCardAttempts24Hours": {
                                    "description": "Number of Add Card attempts by this consumer in the last 24 hours.\n",
                                    "type": "integer"
                                  },
                                  "Transactions24Hours": {
                                    "description": "Number of transactions (successful and abandoned) by this consumer in the previous 24 hours.\n",
                                    "type": "integer"
                                  },
                                  "Transactions1Year": {
                                    "description": "Number of transactions (successful and abandoned) by this consumer in the previous year.\n",
                                    "type": "integer"
                                  },
                                  "HadSuspiciousActivity": {
                                    "description": "Indicates whether the supplier has experienced suspicious activity (including previous fraud) on the consumer account.\n",
                                    "type": "boolean"
                                  }
                                }
                              }
                            },
                            "required": [
                              "Name",
                              "Email",
                              "Address",
                              "City",
                              "Country"
                            ]
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "Consignee": {
                            "description": "A consignee is the person receiving an order. This is sometimes referred to as the shipping contact. Consignee must be specified if Shipping is present.\n",
                            "type": "object",
                            "properties": {
                              "Name": {
                                "description": "The consignee's full name.\n",
                                "type": "string"
                              },
                              "Company": {
                                "type": "string"
                              },
                              "Email": {
                                "type": "string"
                              },
                              "Phone": {
                                "description": "The consignee's phone number. Ideally specified using E.164 formatting, but this is not enforced.\n",
                                "type": "string"
                              },
                              "Address": {
                                "description": "The consignee's street address.\n",
                                "type": "string"
                              },
                              "City": {
                                "description": "The city associated with the consignee's address.\n",
                                "type": "string"
                              },
                              "Region": {
                                "description": "The ISO-3166-2 subdivision code for the region (state, province, etc.) associated with the consumer's address, not including the country code or dash. (eg NS, not CA-NS). This field may be omitted if there are no states/regions in the specified country.\n",
                                "type": "string"
                              },
                              "PostalCode": {
                                "description": "The postal code associated with the consignee's address. This field may be omitted if there are no postal codes in the specified country.\n",
                                "type": "string"
                              },
                              "Country": {
                                "description": "The upper-case ISO 3166 alpha-2 country code associated with the consignee's address.\n",
                                "type": "string",
                                "pattern": "^[A-Z]{2}$"
                              },
                              "AddedDate": {
                                "description": "The date when this address was first used with the supplier. May be a YYYY-MM-DD date or ThisTime.\n",
                                "type": "string",
                                "pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])|ThisTime$"
                              },
                              "VerifiedAddress": {
                                "description": "Has this address been verified, e.g. by previously using it as a billing address for a card payment.\n",
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "Name",
                              "Address",
                              "City",
                              "Country"
                            ]
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "PaymentModel": {
                            "description": "The payment model in use for this transaction, which specifies whether the transaction is supplier or consumer-initiated and how stored payment details will be used.  Stored payment details may be managed via Reach Contracts or via a PCI DSS-compliant card vault.<br/>\n  Accepted values:<br/>\n **CIT-One-Time** - A regular consumer-initiated-transaction.<br/> **MOTO-One-Time** - A mail or telephone order being made by an agent. Note that to submit payment card transactions via an agent, a supplier must submit a [PCI DSS SAQ-C-VT](https://www.pcisecuritystandards.org/documents/PCI-DSS-v3_2-SAQ-C_VT-rev1_1.pdf).<br/> **CIT-Setup-Unscheduled** - The initial transaction to establish payment details on file for future consumer-initiated  transactions.<br/>  **CIT-Setup-Unscheduled-MIT** - The initial transaction to  establish payment details on file for future unscheduled  merchant-initiated transactions.  For example, for future instalment payments or account top-ups.<br/>  **CIT-Setup-Scheduled** - The initial transaction to establish payment details on file for a series of recurring payments at fixed, regular  intervals.  For example, for a monthly subscription.<br/> **CIT-Subsequent-Unscheduled** - A transaction initiated by the consumer using stored payment details.<br/> **MIT-Subsequent-Unscheduled** - An unscheduled transaction  initiated by the supplier using stored payment details.<br/> **MIT-Subsequent-Scheduled** - A scheduled transaction  initiated by the supplier using stored payment details. **MOTO-Setup-Unscheduled** - A mail or telephone order being made by an agent. This is the initial transaction to establish payment details on file for future consumer-initiated transactions. Note that to submit payment card transactions via an agent, a supplier must submit a [PCI DSS SAQ-C-VT](https://www.pcisecuritystandards.org/documents/PCI-DSS-v3_2-SAQ-C_VT-rev1_1.pdf).<br/> **MOTO-Setup-Unscheduled-MIT** - A mail or telephone order being made by an agent. This is the initial transaction to establish payment details on file for future unscheduled merchant-initiated transactions.  For example, for future instalment payments or account top-ups. Note that to submit payment card transactions via an agent, a supplier must submit a [PCI DSS SAQ-C-VT](https://www.pcisecuritystandards.org/documents/PCI-DSS-v3_2-SAQ-C_VT-rev1_1.pdf).<br/> **MOTO-Setup-Scheduled** - A mail or telephone order being made by an agent. This is the initial transaction to establish payment details on file for a series of recurring payments at fixed, regular intervals.  For example, for a monthly subscription Note that to submit payment card transactions via an agent, a supplier must submit a [PCI DSS SAQ-C-VT](https://www.pcisecuritystandards.org/documents/PCI-DSS-v3_2-SAQ-C_VT-rev1_1.pdf).<br/>\n",
                            "type": "string",
                            "enum": [
                              "CIT-One-Time",
                              "MOTO-One-Time",
                              "CIT-Setup-Unscheduled",
                              "CIT-Setup-Unscheduled-MIT",
                              "CIT-Setup-Scheduled",
                              "CIT-Subsequent-Unscheduled",
                              "MIT-Subsequent-Unscheduled",
                              "MIT-Subsequent-Scheduled",
                              "MOTO-Setup-Unscheduled",
                              "MOTO-Setup-Unscheduled-MIT",
                              "MOTO-Setup-Scheduled"
                            ]
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "ViaAgent": {
                            "description": "Deprecated since version 2.22.  See PaymentModel.\n",
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "AcceptLiability": {
                            "description": "If true, the supplier accepts financial liability for this order. This is typically used for VIP or otherwise whitelisted consumers.\n",
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "Capture": {
                            "description": "If true or the payment method used by the consumer does not support pre-authorization, the payment will be completed. If false or not present, and the payment method supports pre-authorization, the order will be left in the PaymentAuthorized state and the supplier must capture the order using a capture request.\n",
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "OpenContract": {
                            "description": "If true, a contract (used for recurring billing, subscriptions, stored payment options, etc.) will be opened if possible. If false or not present, the order will not open a contract. To open a contract without an initial order, please see openContract. Compatible with \"Setup\" PaymentModels.\n",
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "ContractId": {
                            "description": "If a contract was created in a previous order (using theOpenContract flag) or through a call to openContract, the returned ContractId can be used here instead of submitting payment information again to make a new order. Compatible with \"Subsequent\" PaymentModels.\n",
                            "type": "string",
                            "format": "uuid"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "Store": {
                            "description": "An optional tag that can be used to categorize orders. Typically used when a supplier has multiple storefronts on their website but wishes to use the same Reach Merchant Id.\n",
                            "type": "string"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "PaymentMethod": {
                            "description": "The Reach canonical name of the payment method to be used as returned in the getPaymentMethods response. Must be specified if ContractId is not provided.\n",
                            "type": "string"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "IssuerId": {
                            "description": "If a list of issuers is returned by a previous call to getPaymentMethods for the specified PaymentMethod, this must contain the Reach canonical name of the selected issuer.\n",
                            "type": "string"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "Return": {
                            "description": "The URL to which the consumer's browser will be redirected after external authentication (if necessary) has completed. See [Return from Redirect](https://docs.withreach.com/v2.20/reference#returnfromredirect). Required if a redirect is required.\n",
                            "type": "string",
                            "format": "uri"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "Notify": {
                            "description": "An optional URL that will override the default notification URL configured for the supplier. All notifications related to this order, including refunds, will go to this override.\n",
                            "type": "string",
                            "format": "uri"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "TaxQuoteId": {
                            "description": "A Unique Tax Quote Id provided by the supplier for this order. The TaxQuoteId can be retrieved by calling the Quote API. See https://docs.withreach.com/reference/createquote\n",
                            "type": "string",
                            "format": "uri"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "Locale": {
                            "description": "If known, the preferred locale of the consumer specified as an BCP 47 IETF language tag, as seen, for example, in an HTTP Accept-Language header. Extensions such as RFC 6067 Unicode Locale are accepted.\n",
                            "type": "string"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "Meta": {
                            "description": "An opaque JSON value (string, number, boolean, array, or object) which is returned to the supplier in response to a query request for this order.\n",
                            "type": "object"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "StashId": {
                            "description": "Some parameters and/or card data may be attached to this request via the Reach stash. See https://docs.withreach.com/docs/stash.\n",
                            "type": "string"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "type": "object",
                        "properties": {
                          "ThreeDSAuthentication": {
                            "description": "An optional array of objects containing values required for passthrough of 3DS 2 authentication Further information can be found directly on the [3DSecure documentation](https://docs.3dsecure.io/3dsv2/specification_210.html)\n",
                            "type": "object",
                            "properties": {
                              "MessageVersion": {
                                "description": "Include this only for 3D Secure 2. The version of 3D Secure 2 used: 2.1.0 or 2.2.0 This is also known as 'threeDSVersion' or some very identifiable variant [3D Secure messageVersion](https://docs.3dsecure.io/3dsv2/specification_210.html#attr-ARes-messageVersion)\n",
                                "type": "string"
                              },
                              "TransStatus": {
                                "description": "Indicates whether a transaction qualifies as an authenticated transaction or account verification. [3D Secure transStatus](https://docs.3dsecure.io/3dsv2/specification_210.html#attr-ARes-transStatus)\n"
                              },
                              "DsTransId": {
                                "description": "Universally unique transaction identifier assigned by the DS to identify a single transaction.  This is also known as 'xid', or 'directoryServerTransactionId', or 'dsTransactionId'. [3D Secure dsTransId](https://docs.3dsecure.io/3dsv2/specification_210.html#attr-ARes-dsTransID)\n",
                                "type": "string"
                              },
                              "Eci": {
                                "description": "Payment System-specific value provided by the ACS or DS to indicate the results of the attempt to authenticate the Cardholder. [3D Secure eci](https://docs.3dsecure.io/3dsv2/specification_210.html#attr-ARes-eci)\n",
                                "type": "string"
                              },
                              "AuthenticationValue": {
                                "description": "In 3DS2 this is the authenticationValue returned in the ARes (if frictionless) or the RReq (if a challenge flow).  This is also known as 'cavv', or 'cryptogram'. [3D Secure authenticationValue](https://docs.3dsecure.io/3dsv2/specification_210.html#attr-ARes-authenticationValue)\n",
                                "type": "string"
                              },
                              "AcsTransId": {
                                "description": "Universally unique transaction identifier assigned by the ACS to identify a single transaction. [3D Secure acsTransId](https://docs.3dsecure.io/3dsv2/specification_210.html#attr-ARes-acsTransID)\n",
                                "type": "string"
                              },
                              "CavvAlgorithm": {
                                "description": "The algorithm used by the ACS to calculate the authentication value.\n",
                                "type": "string"
                              }
                            },
                            "required": [
                              "MessageVersion",
                              "TransStatus",
                              "DsTransId",
                              "Eci",
                              "AuthenticationValue",
                              "AcsTransId"
                            ]
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The order was successfully created and authorized in the Reach system.\n",
            "content": {
              "x-www-form-urlencoded": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "OrderId": {
                      "description": "The 36 character GUID which identifies the order in the Reach system.\n",
                      "type": "string",
                      "format": "uuid"
                    },
                    "UnderReview": {
                      "description": "Set to true if a fraud review has been initiated for the order. Payment cannot be processed until the review has been completed. If Capture is true, once the order is approved, capture will occur and the supplier will receive notification. If not present, assume false.\n",
                      "type": "boolean"
                    },
                    "Expiry": {
                      "description": "If further authentication is required, this is the RFC 3339 time by which authentication must be completed.<br>If the shopper is authenticated but the order is not authorized,this is the RFC 3339 time by which authorization must be completed.<br>If the order is created and authorized but not captured this is the RFC 3339 time by which this order must be captured.\n",
                      "type": "string",
                      "format": "date-time"
                    },
                    "ContractId": {
                      "description": "If OpenContract was specified in the request to checkout and a contract was successfully created, this is the Reach 36 character UUID which identifies the contract and can be used in future orders for this consumer.\n",
                      "type": "string",
                      "format": "uuid"
                    },
                    "Authorized": {
                      "description": "An indication of whether or not the payment has been authorized.\n",
                      "type": "boolean"
                    },
                    "Captured": {
                      "description": "An indication of whether or not the payment has been captured and therefore completed. If Capture was true in the request to checkout, and this field is  false, the capture is still in progress.  A notification will be sent when payment has completed regardless of the value of this field. If not present, assume false.\n",
                      "type": "boolean"
                    },
                    "Action": {
                      "description": "If additional action must be taken to proceed with a request, this object contains information about the required action. As of version 20 of this specification, multiple actions may be present, and the supplier may choose which action to invoke.\n",
                      "type": "object",
                      "properties": {
                        "Redirect": {
                          "description": "The consumer must be redirected to the URL specified to complete the request. Upon completion, the consumer will be redirected to the specified Return URL.\n",
                          "type": "string",
                          "format": "uri"
                        },
                        "Challenge": {
                          "description": "The URL to use for iframe-embedded authentication (ex. 3-DSecure v2, WeChat QR code, etc.). For more information, see the [Reach Checkout Web SDK](https://github.com/withreach/reach-sdk-checkout-web).\n",
                          "type": "string",
                          "format": "uri"
                        },
                        "Display": {
                          "description": "A freeform JSON object which, in the context of the specified request, gives the necessary information for a consumer to proceed. See https://docs.withreach.com/docs/display-parameters.\n",
                          "type": "object"
                        }
                      }
                    },
                    "Risk": {
                      "description": "If enabled for the supplier, Reach will send results of address verification and other checks as they are available.\n",
                      "type": "object",
                      "properties": {
                        "Verification": {
                          "type": "object",
                          "properties": {
                            "PostalCode": {
                              "description": "Match or NoMatch if the supplied postal code was determined to match or not match the cardholder's billing address. Not specified if the information is not available.\n",
                              "type": "string",
                              "enum": [
                                "Match",
                                "NoMatch"
                              ]
                            },
                            "Address": {
                              "description": "As above for street address.",
                              "type": "string",
                              "enum": [
                                "Match",
                                "NoMatch"
                              ]
                            },
                            "Name": {
                              "description": "As above for name.",
                              "type": "string",
                              "enum": [
                                "Match",
                                "NoMatch"
                              ]
                            },
                            "CardVerificationCode": {
                              "description": "As above for card verification code.",
                              "type": "string",
                              "enum": [
                                "Match",
                                "NoMatch"
                              ]
                            }
                          }
                        }
                      },
                      "required": [
                        "Verification"
                      ]
                    }
                  },
                  "required": [
                    "OrderId",
                    "Authorized"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "If present, the checkout request structure was invalid and unable to be parsed.\n"
          },
          "404": {
            "description": "If present, a value of the request was unable to be found. For example, if the MerchantId provided could not be found in the given environment\n"
          },
          "503": {
            "description": "There was a system problem and the request should be tried again.\n"
          },
          "2XX": {
            "description": "If present, the order could not be created or authorized due to an error. An HTTP 200 status code will be returned to indicate that the request was structured properly but an error was encountered.\n",
            "content": {
              "x-www-form-urlencoded": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Error": {
                      "description": "If there was an error when processing a POST request this is the error structure returned.\n",
                      "type": "object",
                      "properties": {
                        "Code": {
                          "description": "A request-specific error code, described in the Error Codes section for the specific request.\n",
                          "type": "string"
                        },
                        "ReasonCode": {
                          "description": "A short description of the error.\n",
                          "type": "string"
                        }
                      },
                      "required": [
                        "Code"
                      ]
                    },
                    "OrderId": {
                      "description": "The 36 character GUID which identifies the order in the Reach system, if an order was created.\n",
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "required": [
                    "Error"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "POST"
        ]
      }
    }
  },
  "tags": [
    {
      "name": "POST"
    }
  ],
  "x-explorer-enabled": false,
  "x-readme": {
    "proxy-enabled": true
  },
  "x-samples-enabled": false
}
```