POST
/
checkout
/
cart
/
{cart_id}
/
payment

Apply a payment method to a cart given its cart_id.

You have the following options for payments:

  1. Stripe.js V3 (recommended) - You can use this option by passing in the field intent_based_payment : true in the request body. Using this option will not automatically apply payment details. Please follow this guide to enable Stripe v3 Payments.
  2. Raw Credit Card information (deprecation path) - You can use this option by passing in card_cvc, card_exp_month, card_exp_year, card_number and card_postal_code.
  3. Tokenized credit card information (deprecation path) - You can use this by passing in a Tokenized card in the token field.

Headers

X-Violet-Token
string
X-Violet-App-Secret
string
X-Violet-App-Id
integer

Path Parameters

cart_id
integer
required

Query Parameters

price_cart
boolean
default:
false

Body

application/json

The payment method request for a cart. If the token is provided no card data is required.

app_order_id
string

Map the order in Violet to an order record within your system.

card_cvc
integer

CVC code on the credit or debit card.

card_exp_month
integer

Expiration month of the credit or debit card.

card_exp_year
integer

Expiration year of the credit or debit card.

card_number
string

Number on the credit or debit card.

card_postal_code
string

Postal Code of the credit or debit card.

complete_checkout
boolean

Submit cart immediately after applying the payment method. Cannot be combined with intent_based_checkout.

customer_id
string

Unique identifier of the Customer in the payment provider that the payment method is associated to. When a customer_id is provided, payment_provider must also be specified in the request.

intent_based_capture
boolean

Trigger payment intent based capture

ip_v4
string

IP address of the device from which this Payment Method originates.

payment_provider
string

Payment provider that this payment method was created on, if any.

token
string

Payment Token generated on a specific payment provider. When a token is provided, payment_provider must also be specified in the request.

type
enum<string>

Type of the payment method being passed in.

Available options:
SINGLE_USE_CARD_TOKEN,
MULTI_USE_CARD_TOKEN,
BANK_TOKEN,
PAYMENT_INTENT,
VIOLET_PAYMENT_METHOD_ID

Response

200 - application/json

Violet Order Entity

app_customer_id
string | null

App Customer ID. This should be used to map the order to the ID of the customer in your application.

app_id
integer

ID of the App responsible for the creation and submission of this Order.

app_name
string

Name of app that originated the order. Use the "extended" query param when looking up orders to include this value.

app_order_id
string | null

App Order ID. This should be set to a unique identifier in your system. While not enforced unique in Violet's system, it is strongly recommended that unique values are used for each cart to help correlate identifiers between Violet's system and yours.

bags
object[]

One or more Bags that make up the Order. Each Bag will contain the Sku's, shipping methods, and totals unique to a merchant. Each merchant in an Order will have their own Bag.

billing_address
object | null

The shipping or billing address of a user placing an order

currency
string
default:
USD

Base currency of cart

currency_symbol
string

Symbol representing the currency the Order operates in.

customer
object | null

Details of the customer placing the order.

date_created
string

Date of order creation

date_last_modified
string

Date of last order update

developer_id
integer

ID of the Developer responsible for the creation and submission of this Order.

discount_total
integer
default:
0

The total discounts applied to the price of the Order in the base currency. In Cents.

errors
array | null

Errors on the Order. During checkout, if there was an error or issue on one of the order's bags, there will be an error added to this list describing the issue. The checkout API will return 200 with the order object in the response even if there was an issue with a bag so you must always check the response for errors in this list to know if there was an issue on the order.

guest
boolean
id
integer

ID of the Violet cart or order.

intent_based_checkout
boolean

Boolean indicating if the cart/order will be payed using a payment intent.

is_guest
boolean
default:
true

Order is Guest

order_id
integer
order_status
enum<string>
Available options:
IN_PROGRESS,
PROCESSING,
COMPLETED,
CANCELED,
PARTIALLY_REFUNDED,
REFUNDED,
REQUIRES_ACTION
payment_intent_client_secret
string

Payment intent client secret. Use for payment intent based payment capture and external captures

payment_method
object | null

Payment Method belonging to an Order

payment_transactions
object[]

Payment Transactions associated to the bags on this Cart

priced
boolean
default:
false

Is the cart priced

referral_id
string | null

Optional value used to represent an identifier in your system. This value is not required to represent a referral. It can represent the ID of anything in your system and can be used to filter order lookup results. Max length of 128 characters.

shipping_address
object | null

The shipping or billing address of a user placing an order

shipping_total
integer
default:
0

The sum of all shipping methods applied to the Order in the base currency. In Cents.

status
enum<string>

Status of the Order

Available options:
IN_PROGRESS,
PROCESSING,
COMPLETED,
CANCELED,
PARTIALLY_REFUNDED,
REFUNDED,
REQUIRES_ACTION
stripe_key
string

Stripe publishable key. Use for tokenizing payment methods.

sub_total
integer
default:
0

The price of the Order in the base currency before discounts, shipping, duties, taxes, and tips. In Cents.

tax_total
integer
default:
0

The sum of all the taxes applied to the Order in the base currency. In Cents.

token
string
deprecated

An alternative UUID that can be used as an ID to reference the cart or order.

total
integer
default:
0

The sum of all item prices, discounts, shipping, and taxes applied to the Order in the base currency. In Cents.

user_id
integer
deprecated

ID of the User placing the order

wallet_based_checkout
boolean
default:
false

Is this cart going to be placed through wallet-based checkout

Was this page helpful?