취소 및 환불
취소와 환불은 서로 다른 단계에서 수행할 수 있는 두 가지 다른 작업입니다. 지급 수명 주기를 참조하십시오.
두 가지로 취소가 가능합니다-단계 지불 체계. 이 작업은 지불이 승인된 후 캡처되기 전에 수행할 수 있습니다. 이 단계에서 고객의 돈이 계좌에서 이체되지 않았습니다. 대신, 상인이 캡처할 때까지 계정에 보관됩니다. 취소 시 발행 은행은 고객의 자금에서 보류를 제거하고 자금은 고객에게 다시 해제됩니다. 취소의 또 다른 단어는 반전입니다.
환불은 결제가 완료된 후에 이루어집니다. 이 단계에서 고객의 돈은 대상 계좌로 이체되므로 고객의 계좌로 다시 이체해야 합니다. 이 작업에는 수수료가 발생할 수 있습니다.
- 취소되는 모든 항목은
authorized
상태. - 환불되는 모든 품목은
completed
상태.
사용 status
현재 항목 상태 확인을 요청합니다.
취소와 환불은 서로 다른 두 가지 작업이지만 필요한 API 속성은 동일합니다. 아래 정보는 둘 다에 적용됩니다.
다음을 사용하여 전체 장바구니 또는 특정 장바구니 항목을 취소하거나 환불할 수 있습니다. cancel
그리고 refund
각각 요청. 특정 장바구니 항목을 부분적으로 취소하거나 환불하는 옵션도 있습니다.이를 위해 modify
요청이 사용됩니다.
전체 장바구니
장바구니 전체를 취소하거나 환불한 후, 모든 장바구니 항목은 각각 canceled
또는 refunded
상태가 됩니다.
특정 항목
특정 카트 항목을 취소하거나 환불한 후 해당 항목은 각각 canceled
또는 refunded
상태가 됩니다.
특정 장바구니 항목을 취소하거나 환불하려면 cancel
또는 refund
각각 요청하십시오. 필수 항목과 별도로 요청 범위를 지정합니다. cartId
값에서 취소 또는 환불할 항목에 대한 기준을 제공합니다. filterBox
객체.
tags
및 itemIds
객체와 timerEnabled
속성을 사용할 수 있습니다.
요청된 카트에는 지정된 태그 또는 항목 식별자가 포함되어야 하며, 그렇지 않으면 요청이 실패합니다.
- tags
- itemIds
- timerEnabled
{
"cartId": "6f891edb-1e1f-48bb-b042-2cb790a0f402",
"filterBox": {
"tags": [
"rampart",
"inferno"
]
}
}
위의 예에서는 rampart
그리고 inferno
태그는 취소/환불됩니다.
{
"cartId": "6f891edb-1e1f-48bb-b042-2cb790a0f402",
"filterBox": {
"itemIds": [
"sulfur",
"crystal",
"gems"
]
}
}
위의 예에서는 sulfur
, crystal
그리고 gems
상품은 취소/환불됩니다.
{
"cartId": "6f891edb-1e1f-48bb-b042-2cb790a0f402",
"filterBox": {
"timerEnabled": true
}
}
위의 예에서는 비활성화된(설정되지 않은) 타이머가 있는 항목만 취소/환불됩니다.
이 tags
그리고 itemIds
objects와 timerEnabled
속성은 조합하여 사용할 수 있습니다.
tags
기준은 itemIds
객체 속성과의 중복을 무시합니다. 다음 예를 고려하세요. 동일한 요청에서 태그와 지정된 태그로 표시된 항목을 지정합니다. OmniCart는 지정된 태그로 표시된 모든 항목을 취소/환불하고 항목이 실제로 두 번 지정되었다는 사실(태그와 식별자)을 무시합니다.
만약 당신이 통과하면 timerEnabled
속성을 사용하면 요청 범위가 타이머 설정에 따라 항목으로 좁혀집니다(자세한 내용은 항목 타이머 섹션 참조).
"timerEnabled": false
- 요청은 비활성화된(설정되지 않은) 타이머가 있는 항목에만 적용됩니다."timerEnabled": true
- 요청은 타이머가 활성화된 항목에만 적용됩니다.
- 예제 #1
- 예제 #2
- 예제 #3
{
"cartId": "6f891edb-1e1f-48bb-b042-2cb790a0f402",
"filterBox": {
"tags": [
"rampart",
],
"itemIds": [
"crystal",
"gems"
]
}
}
위의 예에서는 다음을 가정합니다. crystal
항목이 로 표시되었습니다. rampart
태그와 gems
항목에 태그가 전혀 없습니다. 요청은 다음과 같은 모든 항목에 영향을 미칩니다. rampart
태그를 포함합니다. crystal
항목 및 gems
태그가 지정되지 않은 항목입니다.
{
"cartId": "6f891edb-1e1f-48bb-b042-2cb790a0f402",
"filterBox": {
"tags": [
"rampart",
"tower",
"inferno"
],
"timerEnabled": true
}
}
위의 예에서는 장바구니에 다음이 포함되어 있다고 가정합니다. rampart
, tower
그리고 inferno
태그와 각 태그는 활성화된 타이머가 있는 하나 이상의 항목에 적용됩니다. 요청은 위의 태그 중 하나로 표시되고 타이머를 사용하도록 설정된 항목에만 영향을 줍니다. 다른 항목은 무시됩니다.
{
"cartId": "6f891edb-1e1f-48bb-b042-2cb790a0f402",
"filterBox": {
"tags": [
"necropolis",
"dungeon"
],
"timerEnabled": true
}
}
위의 예에서는 장바구니에 다음이 포함되어 있다고 가정합니다. necropolis
그리고 dungeon
태그. 이 necropolis
태그가 비활성화된(설정되지 않은) 타이머가 있는 하나 이상의 항목에 적용됩니다. 로 표시된 항목이 없습니다. dungeon
태그는 타이머를 활성화하거나 비활성화했습니다.
이 경우 요청이 실패합니다.
특정 품목, 부분 취소/환불
OmniCart를 사용하면 장바구니 품목을 부분적으로 취소하거나 환불할 수 있습니다. 예를 들어, 고객이 제품에 대한 비용을 지불했는데 어떤 이유로 제품을 전체 수량으로 배송할 수 없거나 배송되지 않은 경우 이 작업이 필요할 수 있습니다. 이렇게 하려면 modify
항목 금액을 더 낮은 값으로 변경하도록 요청합니다. 아이템 수량은 증가시킬 수 없습니다. modify
항목 수정 및 금액 섹션에서 자세한 내용을 확인할 수 있습 니다. 초기 금액과 수정된 금액의 차액은 자동으로 고객에게 반환됩니다.
부분 취소 또는 환불은 여러 번 수행할 수 있습니다. 즉, 항목을 완전히 취소하거나 환불하려면 다음을 사용하십시오. cancel
그리고 refund
항목 수를 0으로 변경하는 것은 허용되지 않으므로 각각 요청합니다.
부분 취소 또는 환불 후 해당 품목은 각각 authorized
또는 completed
상태로 유지됩니다.