본문으로 건너뛰기

복잡한 시나리오

예제 #1

이 시나리오에서 카트 항목은 만료 타이머와 함께 생성됩니다. 예를 들어 모바일 앱 기능에 대한 임시 액세스가 될 수 있습니다. 그런 다음 고객은 임시 타이머가 만료되기 전에 PRO 버전으로 업그레이드하려고 합니다. PRO 버전은 기능을 무제한으로 사용할 수 있음을 의미합니다. 이를 달성하는 한 가지 방법은 항목 타이머를 중지하고 무제한 타이머가 있는 새 카트를 등록하는 것입니다.

  1. 고객이 결제 프로세스를 시작합니다.
  2. 판매자는 init OmniCart에 요청합니다.
  3. OmniCart는 응답init 판매자에게 요청합니다.
  4. OmniCart는 에 설정된 방법을 사용하여 결제 양식을 제공합니다. deliveryOption 의 속성 init 요청.
  5. 고객이 확인 서비스에 대해 인증합니다.
  6. 확인 서비스는 OmniCart에 결제가 승인되었음을 알려줍니다.
  7. 결제가 처리됩니다.
  8. 판매자는 고객에게 성공 메시지를 표시합니다.

init (타이머를 설정하다)

{
"cartId": "6f891edb-1e1f-48bb-b042-2cb790a0f402",
"customerId": "8d7d8181-b4bf-49bb-b732-d498d15dc5cc",
"currency": "XAU",
"items": [
{
"bloodlust": {
"amount": 100,
"enableTimer": true,
"timer": {
"triggerEvent": "completed",
"value": 259200
}
}
}
],
"paymentForm": {
"deliveryOption": "redirect",
"value": "https://test.com/payment"
}
}
  1. 고객이 PRO 버전으로 업그레이드하고 싶어합니다..
  2. 판매자는 status OmniCart에 요청합니다.

    OmniCart는 결제 및 타이머 상태 변경에 대한 콜백을 지원합니다. 자세한 내용은 기술 지원에 문의하십시오.

  3. OmniCart는 응답status 판매자에게 요청합니다.

status (선택 과목)

curl -L 'https://api.omnicart.scripsi.io/status/:6f891edb-1e1f-48bb-b042-2cb790a0f402' \
-H 'Accept: application/json' \
-H 'Api-Access-Token: <Api-Access-Token>'
  1. 판매자는 modify OmniCart에 업데이트된 설정으로 요청하십시오. 이러한 설정은 OmniCart가 항목 타이머를 중지하도록 지시합니다.
  2. 타이머는 수동 동작으로 중지됩니다.
  3. OmniCart는 응답modify 판매자에게 요청합니다.
  4. 판매자는 고객에게 성공 메시지를 표시합니다.

modify (타이머를 멈추다)

{
"cartId": "6f891edb-1e1f-48bb-b042-2cb790a0f402",
"modifyBox": {
"customerId": "8d7d8181-b4bf-49bb-b732-d498d15dc5cc",
"items": [
{
"bloodlust": {
"modifyTimer": {
"manualAction": "stop"
}
}
}
]
}
}
  1. 고객이 업그레이드를 확인했습니다.
  2. 판매자는 init OmniCart에 요청합니다. 타이머 값은 0으로 설정되어 만료되지 않음을 의미합니다.
  3. OmniCart는 응답init 판매자에게 요청합니다.
  4. OmniCart는 에 설정된 방법을 사용하여 결제 양식을 제공합니다. deliveryOption 의 속성 init 요청.
  5. 고객이 확인 서비스에 대해 인증합니다.
  6. 확인 서비스는 OmniCart에 결제가 승인되었음을 알려줍니다.
  7. 결제가 처리됩니다.
  8. 판매자는 고객에게 성공 메시지를 표시합니다.

init (새로운 타이머를 설정하다

{
"cartId": "998090f3-e1a3-446b-b503-c41ad9ee546a",
"customerId": "8d7d8181-b4bf-49bb-b732-d498d15dc5cc",
"currency": "XAU",
"items": [
{
"bloodlust": {
"amount": 10000,
"enableTimer": true,
"timer": {
"triggerEvent": "completed",
"value": 0
}
}
}
],
"paymentForm": {
"deliveryOption": "redirect",
"value": "https://test.com/payment"
}
}

예제 #2

이 시나리오에는 승인 후 태그를 재할당하고, 선택한 항목을 캡처하고, 캡처 기간이 만료되고, 부분 환불이 포함됩니다.

  1. 고객이 결제 프로세스를 시작합니다.
  2. 판매자는 init OmniCart에 요청합니다.
  3. OmniCart는 응답init 판매자에게 요청합니다.
  4. OmniCart는 에 설정된 방법을 사용하여 결제 양식을 제공합니다. deliveryOption 의 속성 init 요청.
  5. 고객이 확인 서비스에 대해 인증합니다.
  6. 확인 서비스는 OmniCart에 결제가 승인되었음을 알려줍니다.
  7. 고객의 던트는 해당 계정에서 보류됩니다.
  8. 판매자는 고객에게 성공 메시지를 표시합니다.

init

{
"cartId": "6f891edb-1e1f-48bb-b042-2cb790a0f402",
"currency": "XAU",
"scope": {
"cart": {
"paymentBox": {
"amountMode": "calculated",
"capture": true,
"captureSettings": {
"autoAction": "complete",
"value": 172800
}
}
},
},
"items": [
{
"marksman": {
"tag": "shield",
"amount": 150,
"quantity": 18
}
},
{
"zealot": {
"tag": "shield",
"amount": 450,
"quantity": 6
}
{
"archangel": {
"tag": "shield",
"amount": 5000,
"quantity": 2
}
}
],
"paymentForm": {
"deliveryOption": "redirect",
"value": "https://test.com/payment"
}
}
  1. 판매자는 status OmniCart에 요청합니다.

    OmniCart는 결제 및 타이머 상태 변경에 대한 콜백을 지원합니다. 자세한 내용은 기술 지원에 문의하십시오.

  2. OmniCart는 응답status 판매자에게 요청합니다.

status (선택 과목)

curl -L 'https://api.omnicart.scripsi.io/status/:6f891edb-1e1f-48bb-b042-2cb790a0f402' \
-H 'Accept: application/json' \
-H 'Api-Access-Token: <Api-Access-Token>'
  1. 판매자는 modify OmniCart에 업데이트된 설정으로 요청하십시오.
  2. OmniCart는 응답modify 판매자에게 요청합니다.

modify (태그 재할당)

  {
"cartId": "6f891edb-1e1f-48bb-b042-2cb790a0f402",
"modifyBox": {
"items": [
{
"marksman": {
"tag": "slow"
}
}
]
}
}
  1. 판매자는 status OmniCart에 요청합니다.

    OmniCart는 결제 및 타이머 상태 변경에 대한 콜백을 지원합니다. 자세한 내용은 기술 지원에 문의하십시오.

  2. OmniCart는 응답status 판매자에게 요청합니다.

status (선택 과목)

curl -L 'https://api.omnicart.scripsi.io/status/:6f891edb-1e1f-48bb-b042-2cb790a0f402' \
-H 'Accept: application/json' \
-H 'Api-Access-Token: <Api-Access-Token>'
  1. 판매자는 capture OmniCart에 요청합니다.
  2. 결제가 처리됩니다.
  3. OmniCart는 응답capture 판매자에게 요청합니다.
  4. 고객의 자금이 해당 계좌의 보류에서 해제됩니다.

capture by tag

  {
"cartId": "6f891edb-1e1f-48bb-b042-2cb790a0f402",
"filterBox": {
"tags": [
"shield"
]
}
}
  1. 판매자는 status OmniCart에 요청합니다.

    OmniCart는 결제 및 타이머 상태 변경에 대한 콜백을 지원합니다. 자세한 내용은 기술 지원에 문의하십시오.

  2. OmniCart는 응답status 판매자에게 요청합니다.

status (선택 과목)

curl -L 'https://api.omnicart.scripsi.io/status/:6f891edb-1e1f-48bb-b042-2cb790a0f402' \
-H 'Accept: application/json' \
-H 'Api-Access-Token: <Api-Access-Token>'
  1. 고객이 부분 환불을 원합니다.
  2. 판매자는 modify OmniCart에 업데이트된 설정으로 요청하십시오.
  3. 고객의 자금이 환불됩니다.
  4. OmniCart는 응답modify 판매자에게 요청합니다.
  5. 판매자는 고객에게 성공 메시지를 표시합니다.

modify (부분 환불)

{
"cartId": "6f891edb-1e1f-48bb-b042-2cb790a0f402",
"modifyBox": {
"items": [
{
"archangel": {
"tag": "anti-magic",
}
},
{
"zealot": {
"tag": "armageddon",
"modifyAmount": {
"quantity": 1
}
}
}
]
}
}
  1. 판매자는 status OmniCart에 요청합니다.

    OmniCart는 결제 및 타이머 상태 변경에 대한 콜백을 지원합니다. 자세한 내용은 기술 지원에 문의하십시오.

  2. OmniCart는 응답status 판매자에게 요청합니다.

status (선택 과목)

curl -L 'https://api.omnicart.scripsi.io/status/:6f891edb-1e1f-48bb-b042-2cb790a0f402' \
-H 'Accept: application/json' \
-H 'Api-Access-Token: <Api-Access-Token>'