Apply Payment Method

Apply a Payment Method for the Cart.

Set the payment method for your customer. Violet doesn't recommend using card numbers directly in API calls, even during testing. For this example, we have instead used a sample card token available through Stripe.

When building out your live integration to Violet, learn about all the payment options available to you here.

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?