---
title: "Payment"
method: POST
path: "/api/v1/payment"
tags: ["Payments"]
---

# Payment

`POST /api/v1/payment`

Payment api you can get payments from your customer

## Request body

- PaymentRequest
  - `application_key` string, required — It is the key of your application on our environment
  - `campaign_name` string — It is the name of pos campaign you defined in our environment
  - `order_id` string, required — order_id must be send as unique identifier of your each request. If you send the same value in different requests it would create a chaos, you can't be sure about your payment
  - `amount` string, required — It must be send in integer format by multipliying original value with 100. For example 1 must be 100, 3.42 must be 342
  - `reward_amount` string — Card point amount used for payment. It must be send in integer format by multipliying original value with 100. For example 1 must be 100, 3.42 must be 342
  - `currency` string — Its default is TRY, if you want to use another currency please send it by ISO Code like USD, EUR
  - `installment_count` string — Its default is without installment, if you want to make installment please send the installment count as string
  - `inst_period` integer — Its default is 1, please send the installment period if it is different than 1
  - `card_number` string — Card number that will use in payment. This data never stores at our database, application logs. It is only directed to payment system.
  - `card_holder_name` string — Cardholder name of the card that will use in payment. Our api acts like card number.
  - `expire_month` string — Expire month of the card. Our api acts like card number.
  - `expire_year` string — Expire year of the card. Please send it in four digits format whole year info not last 2 characters. Our api acts like card number.
  - `cvc` string — Cvc of the card. Our api acts like card number.
  - `card_token` string — Card token that will use in payment. It must be one of the card_owner_key's you already used for save card.
  - `is_3d` boolean, required — It must be true for 3d payments otherwise non-3d payment. But if you send it false, it doesn't guarantee it will be non-3d. For two reasons, it can be converted to 3d payment. First the card type, debit cards must be 3d. Second case is, if there is no suitable virtual pos to process your non-3d request it will be tried to do as 3d.
  - `hash_data` string, required — This is the calculated hash data for this sample payment request. BASE_64_ENCODE( SHA_256( APPLICATION_KEY + CARD_NUMBER + AMOUNT + SECRET_KEY ) )
  - `success_url` string, required — If process result is success it will be posted this url with your order_id.
  - `fail_url` string, required — If process failed it will be posted this url with your order_id, response_code and message. You can reach our all response codes from response code api.
  - `mode` string — Please send it as 'T' for test purposes, otherwise it will be in production mode.
  - `language` string — Its default value is tr. If you want to get messages in other languages, please send it. You can find supported languages in the api supported_languages.
  - `customer` Customer
    - `email` string — Email of your customer.
    - `name` string — Name of your customer, if you don't send it, card_holder_name will be used in required payment services.
    - `surname` string — Name of your customer, if you don't send it, card_holder_name will be used in required payment services.
    - `address` string — Address of your customer.
    - `postal_code` string — Postal code of your customer address.
    - `company` string — Comapny name of your customer.
    - `phone` string — Phone number of your customer.
    - `ip_address` string — IP address of client.
    - `id` string — Customer id
    - `identity_number` string — Customer identity number or tax number
    - `county` string — Customer County
    - `city` string — Customer City
    - `country` string — Customer Country
  - `customer_basket` BasketItem[] — Content of order. Our api acts like card number.
    - `id` string, required — Item id
    - `name` string, required — Name of item.
    - `description` string, required — Item description
    - `qty` integer, required — Quantiy of item
    - `amount` number, required — Total amount of item
    - `is_physical` boolean — Item is a physical product ?
    - `category` string, required — Item category
    - `submerchant_external_id` string — Submerchant Unique Id in your system. It is required when the payment is submerchant payment.
    - `submerchant_price` number — Submerchant Payment Amount. It is required when the payment is submerchant payment.
  - `billing_address` Address
    - `contactName` string — Contact name
    - `address` string — Address info.
    - `county` string — Customer County
    - `city` string — City
    - `country` string — Country
  - `shipping_address` Address
    - `contactName` string — Contact name
    - `address` string — Address info.
    - `county` string — Customer County
    - `city` string — City
    - `country` string — Country
  - `save_card` boolean — Save Card Option
  - `card_alias` string — Card Alias, it is required when save card option is true
  - `card_owner_key` string — Card Owner Unique Id in your system, it is required when save card option is true
  - `card_owner_email` string — Card Owner Token, it is required when save card option is true
  - `card_customer_token` string — Card Customer Token in your system, it is required when save card option is true
  - `billing_tax_office` string — Billing Tax Office Name
  - `billing_tax_number` string — Billing Tax Office Name
  - `is_submerchant_payment` boolean — Is payment for sub merchant ?
  - `submerchant_external_id` string — Submerchant Unique id in your system. It is required when the payment is submerchant payment and you dont send basket items
  - `submerchant_price` number — Submerchant Payment Amount. It is required when the payment is submerchant payment and you dont send basket items
  - `is_preauth` boolean — Is payment pre auth?
  - `is_agricultural_payment` boolean — Is payment for agricultural?
  - `agricultural_code` string — Agricultural payment code. It is required when the payment is agricultural payment

## Response `200`

Successful Response

- PaymentResponseShown
  - `response_code` string — You will get 00 for successful payments, 00307 for needs redirection, otherwise another response code for the error. You can reach the list of response codes on the Response Codes Api
  - `message` string — Here is the explanation of response code
  - `suggestion` string — This is the suggestion about you can take the action if the payment fails
  - `service_resp_code` string — Payment service response code
  - `service_resp_message` string — Payment service response message
  - `transaction_id` string — This is the unique id of your payment request in our system. You need to post it to redirect url when redirection needed
  - `redirect_url` string — If the response code is 00307 you need to redirect this url with transaction_id (that we returned in this response) on the form data
  - `virtual_pos_name` string — Virtual pos name the payment processed
  - `virtual_pos_id` integer — Virtual pos id the payment processed
  - `amount` number — Payment amount
  - `commission_amount` number — Payment commission amount
  - `expected_cost_rate` number — Payment expected cost rate
  - `expected_cost_amount` number — Payment expected cost amount
  - `currency` string — Payment currency
  - `auth_code` string — Bank authorization code
  - `installment_count` integer — Installment Count
  - `bin_code` string — Card Bin Code
  - `card_type` string — Card Type
  - `card_program` string — Card Program
  - `card_family` string — Card Family
  - `card_bank_eft_code` string — Card Bank Eft Code
  - `card_bank_name` string — Card Bank Name

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/jetcheckout/apis/jet-checkout.md) · [All operations](https://skmtc.dev/jetcheckout/apis/jet-checkout/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/jetcheckout/jet-checkout/revisions/b17a3806ccb0/schema)
