금액
총 장바구니 금액은 단일 속성에 의해 OmniCart에 전달되지 않습니다. 대신 금액은 항목 식별자별로 지정됩니다. 이를 통해 결제 수명 주기를 유연하게 제어할 수 있습니다.
지불 수명 주기 동안 금액의 전부 또는 일부를 취소하거나 환불할 수 있습니다.
자세한 내용은 다음을 참조하십시오. 지급 수명 주기 섹션에서 항목 지급 수명 주기에 대한 자세한 내용을 확인할 수 있습니다.
init
그리고 modify
요청
이 amount
속성은 init
또는 modify
요청. 선택 사항 amountMode
속성은 OmniCart가 항목에 전달된 값을 처리하는 방법을 정의합니다 amount
재산. 사용 가능한 옵션은 amountMode
이다 declared
그리고 calculated
. amountMode
카트, 태그 및 항목 수준에서 정의할 수 있습니다.
기본적으로 amountMode
이다 declared
.
"amountMode": "declared"
면 amountMode
로 설정됩니다. declared
, 의 값 amount
재산은 OmniCart에서 받은 양식과 똑같이 지불 양식에 포함됩니다. 추가 quantity
그리고 amuntModifier
속성은 OmniCart에 저장되지만 최종 품목 가격에는 영향을 주지 않습니다.
"amountMode": "calculated"
면 amountMode
로 설정됩니다. calculated
, amount
가치는 상품 단위(실제 품목, 리터, 분 등)당 가격입니다. 최종 가격은 의 제품입니다. amount
, quantity
그리고 amountModifier
값.
quantity
- 상품의 수 또는 부피. 정수 또는 소수 골절일 수 있습니다. 예를 들어, 마나를 병이나 리터 단위로 판매할 수 있습니다.amountModifer
-추가amount
승수. 할인을 적용하거나 적절하다고 생각되는 목적으로 사용할 수 있습니다.
기술적 quantity
그리고 amountModifer
그냥 amount
멀티 플라이어. 그렇지만 quantity
항목 수준에서만 정의할 수 있지만 amountModifer
카트, 태그 및 항목 수준에서 정의할 수 있습니다.
최종 품목 가격에 영향을 미치는 속성
- declared
- calculated
"gems": {
"amount": 5000,
"quantity": 4,
"paymentFilter": {
"amountMode": "declared",
"amountModifier": 0.7,
}
}
위의 예에서 amountMode
이다 declared
. 즉, amount
가치가 고려됩니다. 의 최종 가격 gems
항목은 다음과 같습니다. 5000
.
이 quantity
그리고 amountModifier
속성은 OmniCart에 의해 저장되지만 최종 품목 가격에는 영향을 미치지 않습니다.
"gems": {
"amount": 5000,
"quantity": 4,
"paymentFilter": {
"amountMode": "calculated",
"amountModifier": 0.7,
}
}
위의 예에서 amountMode
이다 calculated
. 즉, 최종 가격은 OmniCart에 의해 계산됩니다. init
또는 modify
요청. 최종 품목 가격은 다음의 제품입니다. amount
, quantity
그리고 amountModifier
말하자면 14000
.
결과는 가장 가까운 정수로 반올림됩니다. 결과 숫자가 더 작으면 1
, OmniCart는 오류를 반환합니다.
status
요청
TotalAmounts
그리고 itemAmounts
객체
TotalAmounts
그리고 itemAmounts
에 대한 성공적인 응답으로 반환되는 개체입니다. status
메소드를 사용합니다.
자 세한 내용은 다음을 참조하십시오. 지급 상태에 대한 자세한 내용은 지급 수명 주기 섹션을 참조하십시오.
이 TotalAmounts
그리고 itemAmounts
개체에는 동일한 속성 집합이 있습니다. 차이점은 다음과 같습니다.
이 TotalAmounts
개체에는 요청 시점의 전체 요청 범위에 대한 특정 상태별 총 금액에 대한 정보가 포함되어 있습니다. 즉, 예를 들어 status
태그에 의한 요청인 경우 TotalAmounts
개체에는 해당 태그가 표시된 모든 장바구니 항목의 총 금액이 포함됩니다. 이 status
요청은 TotalAmounts
객체.
이 itemAmounts
객체는 item 객체의 일부이며 요청 시 특정 품목의 특정 상태별 금액에 대한 정보를 포함합니다. 그만큼 많습니다 itemAmounts
objects에 항목이 있는 경우 status
범위에 있습니다. 만약 status
요청이 단일 항목을 반환하면 itemAmounts
값은 TotalAmounts
값.
initiated
- 에 등록된 초기 금액init
요청.captured
-capture
요청을 보냅니다. 항목 금액은 캡처되기 전에 부분적으로 취소될 수 있으므로 이 값은initiated
분량. 또한 카트 항목을 한 번에 모두 캡처할 필요는 없으므로 카트에 권한이 부여되었지만 캡처되거나 취소되지 않은 항목이 포함될 수 있으므로 이 값이 변경될 수 있습니다. 그러나captured
금액은 초과할 수 없습니다.initiated
분량.refunded
- 완료된 환불 금액입니다. 위와 마찬가지로 아이템 금액은 부분적으로 환불될 수 있으므로 이 값은 아이템 금액과 다를 수 있습니다.captured
분량. 이전의 경우와 마찬가지로 전체 장바구니가 아닌 장바구니에서 선택한 항목을 환불할 수 있는 옵션이 있습니다. 즉,refunded
그러나 값은 변경될 수 있습니다.refunded
금액은 초과할 수 없습니다.captured
분량.
- totalAmounts
- itemAmounts
"cartId": "6f891edb-1e1f-48bb-b042-2cb790a0f402",
"currency": "XAU",
"totalAmounts": {
"initiated": 19900,
"captured": 0,
"refunded": 0,
"current": 19000
},
위의 예에서 시작된 모든 카트 항목의 합계는 다음과 같습니다. 19900
. 카트가 승인된 후 일부 카트 항목이 전체 또는 부분적으로 canceled
의 가치 900
그리고 그들 중 누구도 그렇지 않았습니다 captured
. 따라서 captured
장바구니 금액은 0
그리고 current
장바구니 금액 19000
.
"gems": {
"paymentStatus": "completed",
"itemAmounts": {
"initiated": 1200,
"captured": 1200,
"refunded": 200,
"current": 1000
},
위의 예에서 gems
항목이 시작되고 캡처되었습니다. 1200
취소 없이. 완료 후 이 항목은 금액에 대해 부분적으로 환불되었습니다. 200
. 전액 환불이 아니기 때문에 상품 상태는 다음과 같습니다. completed
그러나 현재 양은 포획된 양보다 적습니다.
current
- 장바구니 또는 항목의 현재 금액입니다. 예를 들어, 일부 장바구니 항목이 다음과 같은 경우authorized
부분적으로 취소된 경우 현재 금액이started
분량. 마찬가지로 일부 장바구니 항목이captured
또는completed
부분적으로 환불된current
양 가 보다 작습니다.captured
분량.
paymentSnapshot
객체
이 paymentSnapshot
object는 에 대한 응답으로 반환되는 item 객체의 일부입니다. status
요청. 여기에는 앞에서 정의된 값이 포함됩니다 init
또는 modify
요청(이 페이지의 이전 설명 참조).
참고로, 만약 amountMode
로 설정됩니다. declared
, current
의 값 itemAmounts
object는 amount
(오른쪽의 예에서는 다음과 같습니다. 600
) 금액 승수 이후의 값 quantity
그리고 amountModifier
적용되지 않습니다.
그렇지 않으면 amountMode
로 설정됩니다. calculated
, current
의 값 itemAmounts
object는 amount
, quantity
그리고 amountModifier
값. 오른쪽의 예에서는 다음과 같습 니다. 4000
.
최종 품목 가격에 영향을 미치는 속성
- declared
- calculated
"paymentSnapshot": {
"amount": 600,
"amountMode": "declared",
"quantity": 6,
"amountModifier": 1
},
"paymentSnapshot": {
"amount": 500,
"amountMode": "calculated",
"quantity": 8,
"amountModifier": 1
},