Skip to content

Checkout - Тооцоо хийх

Checkout боломжыг ашиглан та хэрэглэгчийн нэг удаагын худалдан авалт, захиалгыг зохицуулах боломжтой юм.

Жишээ нь хэрэглэгч таны аппликэйшн эсвэл веб-с бараагаа сонгоод худалдан авах дарах үед та түүнд byl checkout үүсгээд өгөх хэрэгтэй, ингээд л төлбөр төлөх, купон, хямдрал, хаягын мэдээлэл авах, төлбөрийн баримт и-мэйлээр илгээх зэрэг бусад худалдан авалтын хүрээнд хийгдэх зүйлсыг Byl танд зохицуулаад өгөх болно.

Хэрэв та webhook тохиргоо хийсэн бол Checkout төлөгдсөн талаарх мэдэгдэлийг цаг алдалгүй өөрийн системд хүлээн авах боломжтой юм.

Checkout обьект

ПараметерТөрөлТайлбар
statusStringТөлөв: open, complete, expired
modestringХудалдан авлтын горим: subscription, payment
client_reference_idStringХарилцагчийн систем дахь таних дугаар.
amount_subtotalNumberНийт дүн.
amount_totalNumberНийт дүн.
expires_atDateТөлвөл зохих эцсийн хугацаа.
created_atDateАнх үүссэн огноо.
updated_atDateӨөрчлөлт орсон огноо.
idNumberCheckout ID.
customer_idNumberХарилцагчын ID.
customer_emailStringХарилцагчын и-мэйл хаяг.
is_guestBooleanЗочин харилцагч эсэх?
allow_promotion_codesBooleanХөнгөлөлтийн код оруулах талбар идэвхтэй эсэх?

Checkout үүсгэх

  • HTTP Method: POST
  • Content Type: application/json
  • URL: https://byl.mn/api/v1/projects/1/checkouts

Параметер

ПараметерТөрөлЗаавал эсэхТайлбар
success_urlStringfalseТөлбөр амжилттай төлөгдсөний дараа буцах хаяг.
cancel_urlStringfalseХудалдан авалт цуцлах үед буцах хаяг.
items[]ArraytrueБүтээгдэхүүний жагсаалт.
phone_number_collectionBoolfalseУтасны дугаар авах талбар идэвхжүүлэх.
delivery_address_collectionBoolfalseХүргэлтийн хаяг авах талбар идэвхжүүлэх.
allow_promotion_codesBoolfalseХөнгөлөлтийн код оруулах талбар идэвхжүүлэх.
customer_emailStringfalseХэрэглэгчийн и-мэйл хаяг.
client_reference_idStringfalseХарилцагчын дахин давтагдашгүй дугаар.

items[] - Бүтээгдэхүүний жагсаалт

Checkout-д бүтээгдэхүүн нэмэх хоёр арга байдаг:

  1. price_id - Byl системд бүртгэлтэй бүтээгдэхүүний үнийн ID. Бүтээгдэхүүний хямдралтай хөнгөлөлтийн код ашиглах үед заавал шаардлагатай.
  2. price_data - Шууд үнэ, бүтээгдэхүүний мэдээлэл дамжуулах. Захиалгын нийт дүнгээс хөнгөлөх хөнгөлөлтийн кодтой хамт ашиглаж болно.

price_id ашиглах

ПараметерТөрөлЗаавал эсэхТайлбар
items[0][price_id]NumbertrueByl системд бүртгэлтэй бүтээгдэхүүний үнийн ID.
items[0][quantity]NumbertrueТоо хэмжээ.
items[0][adjustable_quantity]ObjectfalseТоо хэмжээг засах боломжтой болгох
items[0][adjustable_quantity][enabled]BooltrueТоо хэмжээг засах боломж идэвхтэй эсэх
items[0][adjustable_quantity][min]NumberfalseТоо хэмжээ талбарт оруулж болох хамгийн бага дүн
items[0][adjustable_quantity][max]NumberfalseТоо хэмжээ талбарт оруулж болох хамгийн их дүн

price_id хаанаас олох вэ? Byl системийн удирдлагын панелаас тухайн бүтээгдэхүүний дэлгэрэнгүй орход үнэ тус бүрийн price_id харагдах болмно.

price_data ашиглах

ПараметерТөрөлЗаавал эсэхТайлбар
items[0][price_data][unit_amount]NumbertrueБүтээгдэхүүний нэгж үнэ.
items[0][price_data][product_data][name]StringtrueБүтээгдэхүүний нэр.
items[0][price_data][product_data][client_reference_id]StringfalseХарилцагчын систем дахь бүтээгдэхүүний ID.
items[0][quantity]NumbertrueТоо хэмжээ.
items[0][adjustable_quantity]ObjectfalseТоо хэмжээг засах боломжтой болгох
items[0][adjustable_quantity][enabled]BooltrueТоо хэмжээг засах боломж идэвхтэй эсэх
items[0][adjustable_quantity][min]NumberfalseТоо хэмжээ талбарт оруулж болох хамгийн бага дүн
items[0][adjustable_quantity][max]NumberfalseТоо хэмжээ талбарт оруулж болох хамгийн их дүн

Анхаар:

  • Захиалгын нийт дүнгээс хөнгөлөх хөнгөлөлтийн код ашиглахдаа price_id шаардлагагүй. price_data ашигласан бүтээгдэхүүнтэй хамт ашиглаж болно.
  • Бүтээгдэхүүний хямдралтай хөнгөлөлтийн код ашиглахдаа бүх бүтээгдэхүүнд price_id ашиглах шаардлагатай. Учир нь бүтээгдэхүүний хямдралтай хөнгөлөлтийн код нь Byl системд бүртгэлтэй бүтээгдэхүүнтэй холбоотой ажилладаг. price_data ашигласан бүтээгдэхүүнд бүтээгдэхүүний хямдралтай хөнгөлөлтийн код хэрэглэх боломжгүй.

Жишээ хүсэлт (price_data ашиглах)

shell
BYL_PROJECT_ID="таны төслийн ID"
BYL_TOKEN="таны API token"
$ curl -X POST https://byl.mn/api/v1/projects/$BYL_PROJECT_ID/checkouts \
    -H "Authorization: Bearer $BYL_TOKEN" \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' \
    -d '{
          "success_url": "https://example.mn/purchase/success",
          "items": [
              {
                  "price_data": {
                      "unit_amount": 1000,
                      "product_data": {
                          "name": "Product 1"
                      }
                  },
                  "quantity": 1
              }
          ]
      }'

Жишээ хүсэлт (price_id ашиглах)

shell
BYL_PROJECT_ID="таны төслийн ID"
BYL_TOKEN="таны API token"
$ curl -X POST https://byl.mn/api/v1/projects/$BYL_PROJECT_ID/checkouts \
    -H "Authorization: Bearer $BYL_TOKEN" \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' \
    -d '{
          "success_url": "https://example.mn/purchase/success",
          "items": [
              {
                  "price_id": 3,
                  "quantity": 1
              }
          ]
      }'

Жишээ гаралт

json
{
  "data": {
    "id": 13338,
    "url": "https://byl.mn/h/checkout/13338/Yi7smBuk"
  }
}

Хямдрал

discounts параметрийг ашиглан Checkout-д хямдрал нэмэх боломжтой. Энэ нь хэрэглэгчийн төлбөрийн дүнгээс тодорхой хэмжээний хөнгөлөлт хийхэд ашиглагдана.

ПараметерТөрөлЗаавал эсэхТайлбар
amountNumbertrueХямдралын дүн.
descriptionStringfalseХямдралын тайлбар.

Жишээ

json
BYL_PROJECT_ID="таны төслийн ID"
BYL_TOKEN="таны API token"
$ curl -X POST https://byl.mn/api/v1/projects/$BYL_PROJECT_ID/checkouts \
    -H "Authorization: Bearer $BYL_TOKEN" \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' \
    -d '{
          "customer_id": 1,
          "items": [
              {
                  "price_id": 3,
                  "quantity": 1
              }
          ],
          "discounts": [
              {
                  "amount": 5400,
                  "description": "Хямдрал"
              }
          ]
      }'

Энэ жишээнд 5400 төгрөгийн хямдрал хэрэглэгдэж, "Хямдрал" гэсэн тайлбар харагдана.

Byl хямдруулсан checkout

Хөнгөлөлтийн код

allow_promotion_codes параметрийг true болгосноор checkout хуудас дээр хэрэглэгч хөнгөлөлтийн код оруулах талбар гарч ирнэ. Хэрэглэгч кодыг оруулснаар хөнгөлөлт автоматаар тооцогдоно.

Хөнгөлөлтийн кодын төрлүүд

Хөнгөлөлтийн код хоёр төрөлтэй:

  1. Захиалгын нийт дүнгээс хөнгөлөх - Захиалгын нийт дүнд хөнгөлөлт олгоно
  2. Бүтээгдэхүүний хямдрал - Тодорхой бүтээгдэхүүнд хөнгөлөлт олгоно

Шаардлага

Захиалгын нийт дүнгээс хөнгөлөх

Захиалгын нийт дүнгээс хөнгөлөх хөнгөлөлтийн код ашиглахдаа price_id шаардлагагүй. price_data ашигласан бүтээгдэхүүнтэй хамт ашиглаж болно.

Бүтээгдэхүүний хямдрал

Бүтээгдэхүүний хямдралтай хөнгөлөлтийн код ашиглахын тулд checkout-ийн бүх бүтээгдэхүүнд price_id ашиглах шаардлагатай. price_data ашигласан бүтээгдэхүүнд бүтээгдэхүүний хямдралтай хөнгөлөлтийн код хэрэглэх боломжгүй.

Яагаад? Бүтээгдэхүүний хямдралтай хөнгөлөлтийн код нь Byl системд бүртгэлтэй бүтээгдэхүүнтэй холбоотой ажилладаг. price_id ашигласнаар систем тухайн бүтээгдэхүүнийг олж, хөнгөлөлтийн кодыг зөв тооцоолж чадна. Харин price_data ашигласан тохиолдолд бүтээгдэхүүн системд бүртгэлгүй байдаг тул бүтээгдэхүүний хямдралтай хөнгөлөлтийн код хэрэглэх боломжгүй.

Жишээ

shell
BYL_PROJECT_ID="таны төслийн ID"
BYL_TOKEN="таны API token"
$ curl -X POST https://byl.mn/api/v1/projects/$BYL_PROJECT_ID/checkouts \
    -H "Authorization: Bearer $BYL_TOKEN" \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' \
    -d '{
          "success_url": "https://example.mn/purchase/success",
          "allow_promotion_codes": true,
          "items": [
              {
                  "price_id": 3,
                  "quantity": 1
              },
              {
                  "price_id": 5,
                  "quantity": 2
              }
          ]
      }'

Энэ жишээнд allow_promotion_codes: true тохируулсан тул бүх бүтээгдэхүүнд price_id ашигласан байна. Хэрэглэгч checkout хуудас дээр хөнгөлөлтийн код оруулж болно.

Хөнгөлөлтийн кодын талаар дэлгэрэнгүй мэдээллийг Хөнгөлөлтийн код хуудаснаас уншина уу.

Checkout лавлах

  • HTTP Method: GET
  • Content Type: application/json
  • URL: https://byl.mn/api/v1/projects/1/checkouts/71

Жишээ хүсэлт

shell
BYL_PROJECT_ID="таны төслийн ID"
BYL_TOKEN="таны API token"
$ curl -X GET https://byl.mn/api/v1/projects/$BYL_PROJECT_ID/checkouts/71 \
    -H "Authorization: Bearer $BYL_TOKEN" \
    -H 'Accept: application/json'

Жишээ гаралт

json
{
  "data": {
    "id": 13338,
    "url": "https://byl.mn/h/checkout/13338/Yi7smBuk",
    "client_reference_id": null,
    "mode": "payment",
    "status": "open",
    "expires_at": "2025-10-25T16:00:00.000000Z",
    "amount_subtotal": 1000,
    "amount_total": 1000,
    "customer_id": null,
    "customer_email": null,
    "is_guest": true,
    "created_at": "2025-10-25T10:27:49.000000Z",
    "updated_at": "2025-10-25T10:27:49.000000Z"
  }
}