Apply Payment Method

Apply a payment method to a cart given its cart_id.

circle-info

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.

Apply Payment Method

post
Path parameters
cart_idinteger · int64Required
Query parameters
price_cartbooleanOptionalDefault: false
Header parameters
X-Violet-TokenstringRequired
X-Violet-App-SecretstringRequired
X-Violet-App-Idinteger · int32Required
Body

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

tokenstringOptional

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

customer_idstringOptional

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_capturebooleanOptional

Trigger payment intent based capture

payment_providerstringOptional

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

ip_v4stringOptional

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

typestring · enumOptional

Type of the payment method being passed in.

Possible values:
card_numberstringOptional

Number on the credit or debit card.

card_cvcinteger · int32Optional

CVC code on the credit or debit card.

card_exp_monthinteger · int32Optional

Expiration month of the credit or debit card.

card_exp_yearinteger · int32Optional

Expiration year of the credit or debit card.

card_postal_codestringOptional

Postal Code of the credit or debit card.

complete_checkoutbooleanOptional

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

app_order_idstringOptional

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

Responses
chevron-right
200

success

application/json

Violet Order Entity

idinteger · int64Read-onlyOptional

ID of the Violet cart or order.

tokenstringRead-onlyOptionalDeprecated

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

user_idinteger · int64OptionalDeprecated

ID of the User placing the order

app_idinteger · int32Optional

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

developer_idinteger · int32Optional

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

sub_totalinteger · int32Optional

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

Default: 0
shipping_totalinteger · int32Optional

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

Default: 0
tax_totalinteger · int32Optional

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

Default: 0
discount_totalinteger · int32Optional

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

Default: 0
totalinteger · int32Optional

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

Default: 0
app_customer_idstring · nullableOptional

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

app_order_idstring · nullableOptional

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.

statusstring · enumRead-onlyOptional

Status of the Order

Possible values:
is_guestbooleanRead-onlyOptional

Order is Guest

Default: true
date_createdstring · date-timeRead-onlyOptional

Date of order creation

date_last_modifiedstring · date-timeRead-onlyOptional

Indicates when the order was last modified. This timestamp is updated only when a property on the Order entity itself changes. Modifications to related entities (e.g., Bags) will not update this timestamp unless the change also triggers an update to the Order entity.

date_submittedstring · date-time · max: 24 · nullableRead-onlyOptional

Date the Order was last submitted in Violet. This value is captured immediately after the Order is successfully validated and before the nested Bag(s) are submitted to the external commerce platforms.

pricedbooleanRead-onlyOptional

Is the cart priced

Default: false
wallet_based_checkoutbooleanOptional

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

Default: false
currencystringOptional

Base currency of cart

Default: USD
referral_idstring · nullableOptional

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.

currency_symbolstringOptional

Symbol representing the currency the Order operates in.

app_namestringOptional

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

stripe_keystringOptional

Stripe publishable key. Use for tokenizing payment methods.

payment_intent_client_secretstringOptional

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

order_statusstring · enumOptionalPossible values:
guestbooleanOptional
intent_based_checkoutbooleanOptional

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

order_idinteger · int64Optional
post
/checkout/cart/{cart_id}/payment

Last updated

Was this helpful?