Checkouts

Complete a Checkout

Use to complete a checkout and capture a payment, requires an idempotency key for payment processing

post/checkouts/{id}/complete

Request

Headers

Idempotency-Keystring uuid required

a string to identify your request (we recommend using a generated uuid, but you may use any unique string) see Idempotent Requests

Authorizationstring required

the access_token value returned from the JustiFi oauth/token endpoint (be sure to append Bearer before the token)

Request body

payment_tokenstring required

Payment Method token which you want to use to complete the payment

payment_mode'ecom' | 'bnpl' | 'card_present' | 'apple_pay'

The mode in which the checkout is being completed. If not provided, defaults to ecom

Example request

{
  "payment_token": "pm_asdfakjsd23",
  "payment_mode": "ecom"
}

Response

Checkout was created successfully

idstring uuid

the object id, also found in the data object

typestring

the object type, or array of objects

page_infounknown

Example response

{
  "id": "prefix_xyz (same as id of data object)",
  "type": "checkout_completion",
  "data": {
    "id": "chc_xyz",
    "payment_mode": "ecom",
    "payment_token": "pm_xyz123",
    "status": "succeeded",
    "payment_status": "succeeded",
    "payment_error_code": "card_declined",
    "payment_error_description": "Your card was declined",
    "payment_response": {
      "id": "py_xyz",
      "type": "payment",
      "data": {
        "id": "py_xyz",
        "account_id": "acc_xyz",
        "amount": 10000,
        "amount_refundable": 10000,
        "balance": 99850,
        "fee_amount": 150,
        "financial_transaction_id": "ft_123xyz",
        "captured": true,
        "capture_strategy": "automatic",
        "currency": "usd",
        "description": "my_order_xyz",
        "disputes": [],
        "error_code": "credit_card_number_invalid",
        "error_description": "Credit Card Number Invalid (Failed LUHN checksum)",
        "is_test": true,
        "metadata": {},
        "payment_intent_id": "pi_123xyz",
        "checkout_id": "cho_123xyz",
        "payment_method": {
          "card": {
            "id": "pm_123xyz",
            "brand": "Visa",
            "digital_wallet": "apple_pay",
            "name": "Amanda Kessel",
            "token": "pm_123xyz",
            "month": "5",
            "year": "2042",
            "metadata": {},
            "created_at": "2021-01-01T12:00:00Z",
            "updated_at": "2021-01-01T12:00:00Z",
            "address_line1_check": "unchecked",
            "address_postal_code_check": "unchecked"
          },
          "customer_id": "cust_xyz",
          "signature": "4guAJNkVA3lRLVlanNVoBK",
          "account_id": "acc_123"
        },
        "application_fee": {
          "id": "fee_123xyz",
          "amount": 150,
          "currency": "usd",
          "created_at": "2021-01-01T12:00:00Z",
          "updated_at": "2021-01-01T12:00:00Z"
        },
        "application_fee_rate_id": "afr_123xyz",
        "fees": [
          {
            "id": "pyfee_abc",
            "type": "processing_fee",
            "amount": 350,
            "currency": "usd",
            "remaining_amount": 350,
            "source_configuration_id": "sfc_abc123",
            "source_fee_type": "processing_ecomm",
            "refund_id": null
          },
          {
            "id": "pyfee_xyz",
            "type": "platform_fee",
            "amount": 500,
            "currency": "usd",
            "remaining_amount": 500,
            "source_configuration_id": "sfc_abc123",
            "source_fee_type": "platform",
            "refund_id": null
          }
        ],
        "payment_mode": "ecom",
        "terminal_id": "trm_123xyz",
        "transaction_hold": {
          "id": "th_123xyz",
          "financial_transaction_id": "ft_123xyz"
        },
        "created_at": "2021-01-01T12:00:00Z",
        "updated_at": "2021-01-01T12:00:00Z"
      }
    },
    "checkout_id": "cho_xyz123",
    "checkout": {
      "id": "cho_xyz",
      "account_id": "acc_xyz",
      "platform_account_id": "acc_xyz",
      "payment_intent_id": "pi_xyz",
      "payment_amount": 10000,
      "payment_currency": "USD",
      "payment_description": "my order xyz",
      "payment_methods": [
        {
          "id": "pm_123xyz",
          "type": "card",
          "status": "valid",
          "invalid_reason": null,
          "name": "John Doe",
          "brand": "visa",
          "acct_last_four": "4321",
          "month": "12",
          "year": "2031",
          "address_line1_check": "pass",
          "address_postal_code_check": "pass",
          "bin_details": {}
        },
        {
          "id": "pm_789abc",
          "type": "bank_account",
          "status": "valid",
          "invalid_reason": null,
          "account_owner_name": "Mary Lane",
          "account_type": "checking",
          "bank_name": "Altra",
          "acct_last_four": "4512"
        }
      ],
      "payment_method_group_id": "pmg_xyz",
      "mode": "test",
      "successful_payment_id": "py_123xyz",
      "statement_descriptor": "Big Business",
      "metadata": {},
      "application_fees": {
        "card": {
          "amount": 300
        },
        "bank_account": {
          "amount": 150
        }
      },
      "payment_settings": {
        "ach_payments": true,
        "bnpl_payments": false,
        "credit_card_payments": true,
        "insurance_payments": false,
        "bank_account_verification": false
      },
      "payment": {
        "description": "my order xyz",
        "metadata": {
          "new": "info"
        },
        "expedited": true,
        "fees": [
          {
            "type": "processing_fee",
            "amount": 295
          },
          {
            "type": "platform_fee",
            "amount": 150
          }
        ]
      },
      "created_at": "2024-01-01T12:00:00Z",
      "updated_at": "2024-01-01T12:00:00Z",
      "completions": [
        {
          "id": "chc_xyz123",
          "payment_mode": "ecom",
          "payment_token": "pm_xyz123",
          "status": "succeeded",
          "payment_status": "succeeded",
          "payment_error_code": "card_declined",
          "payment_error_description": "Your card was declined",
          "payment_response": {
            "id": "py_xyz",
            "type": "payment",
            "data": {
              "id": "py_xyz",
              "account_id": "acc_xyz",
              "amount": 10000,
              "amount_refundable": 10000,
              "balance": 99850,
              "fee_amount": 150,
              "financial_transaction_id": "ft_123xyz",
              "captured": true,
              "capture_strategy": "automatic",
              "currency": "usd",
              "description": "my_order_xyz",
              "disputes": [],
              "error_code": "credit_card_number_invalid",
              "error_description": "Credit Card Number Invalid (Failed LUHN checksum)",
              "is_test": true,
              "metadata": {},
              "payment_intent_id": "pi_123xyz",
              "checkout_id": "cho_123xyz",
              "payment_method": {
                "card": {
                  "id": "pm_123xyz",
                  "brand": "Visa",
                  "digital_wallet": "apple_pay",
                  "name": "Amanda Kessel",
                  "token": "pm_123xyz",
                  "month": "5",
                  "year": "2042",
                  "metadata": {},
                  "created_at": "2021-01-01T12:00:00Z",
                  "updated_at": "2021-01-01T12:00:00Z",
                  "address_line1_check": "unchecked",
                  "address_postal_code_check": "unchecked"
                },
                "customer_id": "cust_xyz",
                "signature": "4guAJNkVA3lRLVlanNVoBK",
                "account_id": "acc_123"
              },
              "application_fee": {
                "id": "fee_123xyz",
                "amount": 150,
                "currency": "usd",
                "created_at": "2021-01-01T12:00:00Z",
                "updated_at": "2021-01-01T12:00:00Z"
              },
              "application_fee_rate_id": "afr_123xyz",
              "fees": [
                {
                  "id": "pyfee_abc",
                  "type": "processing_fee",
                  "amount": 350,
                  "currency": "usd",
                  "remaining_amount": 350,
                  "source_configuration_id": "sfc_abc123",
                  "source_fee_type": "processing_ecomm",
                  "refund_id": null
                },
                {
                  "id": "pyfee_xyz",
                  "type": "platform_fee",
                  "amount": 500,
                  "currency": "usd",
                  "remaining_amount": 500,
                  "source_configuration_id": "sfc_abc123",
                  "source_fee_type": "platform",
                  "refund_id": null
                }
              ],
              "payment_mode": "ecom",
              "terminal_id": "trm_123xyz",
              "transaction_hold": {
                "id": "th_123xyz",
                "financial_transaction_id": "ft_123xyz"
              },
              "created_at": "2021-01-01T12:00:00Z",
              "updated_at": "2021-01-01T12:00:00Z"
            }
          },
          "checkout_id": "cho_xyz123",
          "additional_transactions": [],
          "payment_id": "py_xyz123",
          "payment_method_id": "pm_xyz123",
          "terminal_id": "trm_xyz123",
          "created_at": "2024-01-01T12:00:00Z",
          "updated_at": "2024-01-01T12:00:00Z"
        }
      ]
    },
    "payment_id": "py_xyz123",
    "payment_method_id": "pm_xyz123",
    "terminal_id": "trm_xyz123",
    "created_at": "2024-01-01T12:00:00Z",
    "updated_at": "2024-01-01T12:00:00Z"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.