Apply Payment Method

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.

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
200
success
application/json
post
POST /v1/checkout/cart/{cart_id}/payment HTTP/1.1
Host: sandbox-api.violet.io
X-Violet-Token: text
X-Violet-App-Secret: text
X-Violet-App-Id: 1
Content-Type: application/json
Accept: */*
Content-Length: 20

{
  "token": "tok_amex"
}
{
  "id": 10000,
  "token": "fz8x7gksdjsy2p9fdlonw7k9svwjso4b",
  "user_id": 10000,
  "app_id": 10000,
  "developer_id": 10000,
  "customer": {
    "user_id": 10000,
    "first_name": "Super",
    "last_name": "Mario",
    "email": "[email protected]",
    "name": "Super Mario"
  },
  "bags": [
    {
      "id": 11111,
      "order_id": 10000,
      "merchant_id": 10000,
      "app_id": 10000,
      "status": "ACCEPTED",
      "fulfillment_status": "PROCESSING",
      "financial_status": "PAID",
      "skus": [
        {
          "id": 10000,
          "merchant_id": 10000,
          "app_id": 10000,
          "sku_id": 99999,
          "external_id": "1234567890",
          "name": "Nintendo Entertainment System",
          "brand": "Nintendo",
          "thumbnail": "https://res.cloudinary.com/violet/image/upload/c_thumb,w_200,g_face/v1729220594/product_media/2taesr1g7sciu8agrrtgaafi2dnzzmsv.jpg",
          "quantity": 2,
          "price": 9999,
          "weight": 1,
          "available": true,
          "status": "PROCESSING",
          "product_type": "PHYSICAL",
          "custom": false,
          "line_price": 19998
        }
      ],
      "shipping_method": {
        "carrier": "USPS",
        "shipping_method_id": "07d19139fc0f4558687c1900c696f071",
        "bag_id": 11111,
        "merchant_id": 10000,
        "label": "Priority Mail",
        "price": 644,
        "custom": false
      },
      "taxes": [
        {
          "order_id": 127021,
          "merchant_id": 10009,
          "state": "WA",
          "rate": 6.5,
          "amount": 1300,
          "description": "Washington State Tax"
        },
        {
          "order_id": 127021,
          "merchant_id": 10009,
          "state": "WA",
          "rate": 0,
          "amount": 0,
          "description": "King County Tax"
        },
        {
          "order_id": 127021,
          "merchant_id": 10009,
          "state": "WA",
          "rate": 3.85,
          "amount": 770,
          "description": "Seattle City Tax"
        }
      ],
      "sub_total": 19998,
      "shipping_total": 644,
      "tax_total": 2070,
      "discount_total": 0,
      "total": 22712,
      "taxes_included": false,
      "external_checkout": true,
      "commission_rate": 10,
      "date_created": "2017-06-15T01:01:01+0000",
      "date_last_modified": "2017-06-15T01:01:01+0000",
      "remorse_period_ends": "2017-06-15T01:01:01+0000",
      "currency": "USD",
      "external_currency": "USD",
      "channel": "APP",
      "platform": "SHOPIFY",
      "fulfillments": [],
      "discounts": [],
      "wallet_based_checkout": false,
      "bag_id": 22222,
      "bag_status": "IN_PROGRESS",
      "merchant_name": "Legacy Games"
    }
  ],
  "shipping_address": {
    "name": "Super Mario",
    "city": "Seattle",
    "state": "WA",
    "country": "US",
    "postal_code": "98121",
    "phone": "1234567890",
    "type": "SHIPPING",
    "address_1": "2815 Elliott Ave, Unit 100",
    "first_name": "Super",
    "last_name": "Mario"
  },
  "billing_address": {
    "name": "Super Mario",
    "city": "Seattle",
    "state": "WA",
    "country": "US",
    "postal_code": "98121",
    "phone": "1234567890",
    "type": "BILLING",
    "address_1": "2815 Elliott Ave, Unit 100",
    "first_name": "Super",
    "last_name": "Mario"
  },
  "payment_method": {
    "brand": "visa",
    "last_four": "4242",
    "exp_month": 12,
    "exp_year": 2025,
    "payment_method_id": 35236
  },
  "sub_total": 19998,
  "shipping_total": 644,
  "tax_total": 2070,
  "discount_total": 0,
  "total": 22712,
  "app_order_id": "00100100",
  "status": "COMPLETED",
  "is_guest": true,
  "date_created": "2017-06-15T01:01:01+0000",
  "date_last_modified": "2017-06-15T01:01:01+0000",
  "priced": true,
  "wallet_based_checkout": false,
  "currency": "USD",
  "channel": "APP",
  "currency_symbol": "$",
  "stripe_key": "pk_test_UHg8oLvg4rrDCbvtqfwTE8qd",
  "payment_intent_client_secret": "pi_vw8krrsvposl347c5l7x1nt5_secret_vbcw5t2bze37iptq430tmx7s",
  "intent_based_checkout": true,
  "guest": true,
  "order_id": 10000
}

Last updated

Was this helpful?