Skip to main content

Refund a Plan

Refund part or all of an installment plan.

Things to know:

  • If you fully refund the plan before its first charge/capture, the plan will be completely canceled (note that AutoCapture would have been set to false in your Initiate or Create call, so the plan wasn't immediately charged)

  • If you supply a service on a monthly basis, and you or the shopper elect to stop the subscription, you can perform a partial refund with the outstanding amount as Amount in the request

Strategies

There are several refund strategies you can choose when refunding a plan (note that the default is FutureInstallmentsFirst):

  • FutureInstallmentsFirst: At first customer isn’t refunded any installment money that they have already paid. Instead their refund lessens the amount of future installments they will be debited for, beginning with the next installment that is due. However, if their refund exceeds the amount of money they have left to pay (all installments), only then is the refund taken out of the installment money they have already paid
  • FutureInstallmentsLast: Customer is refunded beginning with the installment money they have already paid. If their refund amount exceeds the amount they have already paid, their amount of future installments due gets decreased, beginning with the next installment due and then proceeding to the later ones
  • FutureInstallmentsNotAllowed: Customer is only refunded from installment money that they have already paid, not from any future installments that they have due
  • ReduceFromLastInstallment: This is the same as FutureInstallmentsFirst, except that the refund is credited starting with the last installment first (e.g., number 6 of 6, as opposed to number 2 of 6).
Path Parameters
installmentPlanNumber string REQUIRED
Header Parameters
X-Splitit-IdempotencyKey string
Request Body
Amount decimal REQUIRED
RefundStrategy string

Possible values: [FutureInstallmentsFirst, FutureInstallmentsLast, FutureInstallmentsNotAllowed, ReduceFromLastInstallment]

ReferenceId string

optional merchant-specified descriptor

Responses
200

Success

Schema OPTIONAL
RefundId string OPTIONAL
InstallmentPlanNumber string OPTIONAL
Currency string OPTIONAL
NonCreditRefundAmount decimal OPTIONAL
CreditRefundAmount decimal OPTIONAL
Summary object OPTIONAL
TotalAmount decimal OPTIONAL
FailedAmount decimal OPTIONAL
SucceededAmount decimal OPTIONAL
PendingAmount decimal OPTIONAL
401

Token is not authorized or is expired

Schema OPTIONAL
TraceId string OPTIONAL
Error object OPTIONAL
Code string OPTIONAL
Message string OPTIONAL
AdditionalInfo string OPTIONAL
ExtraData object OPTIONAL
403
Schema OPTIONAL
TraceId string OPTIONAL
Error object OPTIONAL
Code string OPTIONAL
Message string OPTIONAL
AdditionalInfo string OPTIONAL
ExtraData object OPTIONAL
404

Plan or service does not exist; for all APIs, if an invalid plan number is passed in the URL, this error will be returned

Schema OPTIONAL
TraceId string OPTIONAL
Error object OPTIONAL
Code string OPTIONAL
Message string OPTIONAL
AdditionalInfo string OPTIONAL
ExtraData object OPTIONAL
500

Server encountered an unexpected condition

Schema OPTIONAL
TraceId string OPTIONAL
Error object OPTIONAL
Code string OPTIONAL
Message string OPTIONAL
AdditionalInfo string OPTIONAL
ExtraData object OPTIONAL
400-511

InvalidAmount: Invalid amount sent, such as below your minimum amount or above your maximum amount.

Schema OPTIONAL
TraceId string OPTIONAL
Error object OPTIONAL
Code string OPTIONAL
Message string OPTIONAL
AdditionalInfo string OPTIONAL
ExtraData object OPTIONAL
400-562

RefundRequestedAmountExceededPlanRefundableAmount: The refund amount requested exceeded the plan's refundable amount.

Schema OPTIONAL
TraceId string OPTIONAL
Error object OPTIONAL
Code string OPTIONAL
Message string OPTIONAL
AdditionalInfo string OPTIONAL
ExtraData object OPTIONAL
400-578

InvalidPlanStrategy: We are sorry for the inconvenience, but this plan is not available.

Schema OPTIONAL
TraceId string OPTIONAL
Error object OPTIONAL
Code string OPTIONAL
Message string OPTIONAL
AdditionalInfo string OPTIONAL
ExtraData object OPTIONAL
400-594

FraudDetected: Sorry, but we were unable to process your payment. Please reach out to our customer support team at support@splitit.com.

Schema OPTIONAL
TraceId string OPTIONAL
Error object OPTIONAL
Code string OPTIONAL
Message string OPTIONAL
AdditionalInfo string OPTIONAL
ExtraData object OPTIONAL
400-599

General Error: Sorry. There has been an error. Please try again.

Schema OPTIONAL
TraceId string OPTIONAL
Error object OPTIONAL
Code string OPTIONAL
Message string OPTIONAL
AdditionalInfo string OPTIONAL
ExtraData object OPTIONAL
400-640

GtwyMerchantDataProblem: Sorry, but there has been a processing error with this merchant. Please contact our support for assistance.

Schema OPTIONAL
TraceId string OPTIONAL
Error object OPTIONAL
Code string OPTIONAL
Message string OPTIONAL
AdditionalInfo string OPTIONAL
ExtraData object OPTIONAL
400-1041

IdempotencyHashMismatchError: Same Idempotency key with different payload identified.

Schema OPTIONAL
TraceId string OPTIONAL
Error object OPTIONAL
Code string OPTIONAL
Message string OPTIONAL
AdditionalInfo string OPTIONAL
ExtraData object OPTIONAL
400-5911

InvalidInternalUrlSentToOms: Plan is not in the correct state to process this request.

Schema OPTIONAL
TraceId string OPTIONAL
Error object OPTIONAL
Code string OPTIONAL
Message string OPTIONAL
AdditionalInfo string OPTIONAL
ExtraData object OPTIONAL