SubmitOrderRefund

Overview

Issue a full or partial refund or cancellation for an existing order and optionally restock inventory quantity with the refunded/canceled line items.  Fulfillments corresponding to canceled items will be canceled automatically.

When submitting refund requests, you can identify the order using either ClientOrderIdentifier or OrderID.

Restrictions

  1. This method is currently supported for orders from all marketplaces except for Yahoo! Stores.
  2. Partial refunds cannot be issued for orders using PayPal coupons.
  3. Inventory quantity restocking is not currently supported for Amazon, Rakuten, or Pixmania.

Request

Field Name

Data Type

Description

accountID

string

A unique identifier representing the ChannelAdvisor account you wish to access. This is required.

ClientOrderIdentifier

string

The order number as seen in the ChannelAdvisor user interface. Required if OrderID is not supplied.

OrderID

int

The internal ChannelAdvisor order identifier - may or may not be the same as the ClientOrderIdentifier. Required if ClientOrderIdentifier is not supplied.

Amount

decimal

Amount to refund - Ignored if RefundItems are present, but required otherwise.

AdjustmentReason

RefundAdjustmentReason

Reason for the refund request. If no reason is supplied then the value will default to GeneralAdjustment.

SellerRefundID

string

An optional identifier provided by the seller.

RefundItems

RefundItem[]

Used to provide more granular details for partial refunds. If RefundItems are supplied, then the Amount and Adjustment Reason above are ignored. If RefundItems are not supplied for an Amazon/Rakuten order, then a full refund is issued. This is required for:

Response

Field Name

Data Type

Description

ClientOrderIdentifier

string

The order number as seen in the ChannelAdvisor user interface.

OrderID

int

The internal ChannelAdvisor order identifier - may or may not be the same as the ClientOrderIdentifier.

RefundItems

RefundItem[]

Additional result details for refund items.

MessageCode

int

Message

string

Description of result.  Success does not necessarily mean the refund was successful.  Check the refund item details for more information.

References

Sample XML Request/Response: Full refund

XML Request

<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:web="http://api.channeladvisor.com/webservices/"
xmlns:ord="http://api.channeladvisor.com/datacontracts/orders">
   <soapenv:Header>
      <web:APICredentials>
         <web:DeveloperKey>...</web:DeveloperKey>
         <web:Password>...</web:Password>
      </web:APICredentials>
   </soapenv:Header>
   <soapenv:Body>
      <web:SubmitOrderRefund>
         <web:accountID>...</web:accountID>
         <web:request>
            <ord:OrderID>14996612</ord:OrderID>
            <ord:Amount>10.99</ord:Amount>
            <ord:AdjustmentReason>GeneralAdjustment</ord:AdjustmentReason>
         </web:request>
      </web:SubmitOrderRefund>
   </soapenv:Body>
</soapenv:Envelope>

XML Response

<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <SubmitOrderRefundResponse xmlns="http://api.channeladvisor.com/webservices/">
         <SubmitOrderRefundResult>
            <Status>Success</Status>
            <MessageCode>0</MessageCode>
            <Message>Approved: Success - CorrelationID: f45c5d7eb4c63, RefundTransactionID: 20S114698E0288022</Message>
            <ResultData>
               <OrderID xmlns="http://api.channeladvisor.com/datacontracts/orders">14996612</OrderID>
               <MessageCode xmlns="http://api.channeladvisor.com/datacontracts/orders">0</MessageCode>
            </ResultData>
         </SubmitOrderRefundResult>
      </SubmitOrderRefundResponse>
   </soap:Body>
</soap:Envelope>

Sample XML Request/Response: Partial refund

XML Request

<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:web="http://api.channeladvisor.com/webservices/"
xmlns:ord="http://api.channeladvisor.com/datacontracts/orders">
   <soapenv:Header>
      <web:APICredentials>
         <web:DeveloperKey>...</web:DeveloperKey>
         <web:Password>...</web:Password>
      </web:APICredentials>
   </soapenv:Header>
   <soapenv:Body>
      <web:SubmitOrderRefund>
         <web:accountID>...</web:accountID>
         <web:request>
            <ord:ClientOrderIdentifier>597A2-2147M6-6H8232</ord:ClientOrderIdentifier>
            <ord:RefundItems>
             <ord:RefundItem>
                  <ord:SKU>VictorinoxChefKnife - 8-inch</ord:SKU>
                  <ord:Amount>0.00</ord:Amount>
                  <ord:ShippingAmount>0.00</ord:ShippingAmount>
                  <ord:ShippingTaxAmount>0</ord:ShippingTaxAmount>
                  <ord:TaxAmount>0.00</ord:TaxAmount>
                  <ord:Quantity>1</ord:Quantity>
              </ord:RefundItem>
              <ord:RefundItem>
                  <ord:SKU>VictorinoxChefKnife - 6-inch</ord:SKU>
                  <ord:Amount>0.0</ord:Amount>
                  <ord:ShippingAmount>0.01</ord:ShippingAmount>
                  <ord:ShippingTaxAmount>0</ord:ShippingTaxAmount>
                  <ord:TaxAmount>0</ord:TaxAmount>
                  <ord:Quantity>1</ord:Quantity>
                  <ord:AdjustmentReason>CouldNotShip</ord:AdjustmentReason>
               </ord:RefundItem>
           </ord:RefundItems>
         </web:request>
      </web:SubmitOrderRefund>
   </soapenv:Body>
</soapenv:Envelope>

XML Response

<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <SubmitOrderRefundResponse xmlns="http://api.channeladvisor.com/webservices/">
         <SubmitOrderRefundResult>
            <Status>Success</Status>
            <MessageCode>0</MessageCode>
            <Message>Success</Message>
            <ResultData>
               <ClientOrderIdentifier xmlns="http://api.channeladvisor.com/datacontracts/orders">597A2-2147M6-6H8232</ClientOrderIdentifier>
               <OrderID xmlns="http://api.channeladvisor.com/datacontracts/orders">15000270</OrderID>
               <RefundItems xmlns="http://api.channeladvisor.com/datacontracts/orders">
                  <RefundItem>
                     <SKU>VictorinoxChefKnife - 8-inch</SKU>
                     <Amount>0.00</Amount>
                     <ShippingAmount>0.00</ShippingAmount>
                     <ShippingTaxAmount>0</ShippingTaxAmount>
                     <TaxAmount>0.00</TaxAmount>
                     <Quantity>1</Quantity>
                     <RefundRequestID>39643</RefundRequestID>
                     <RefundRequested>true</RefundRequested>
                     <AdjustmentReason>GeneralAdjustment</AdjustmentReason>
                  </RefundItem>
                  <RefundItem>
                     <SKU>VictorinoxChefKnife - 6-inch</SKU>
                     <Amount>0.0</Amount>
                     <ShippingAmount>0.0100</ShippingAmount>
                     <ShippingTaxAmount>0</ShippingTaxAmount>
                     <TaxAmount>0</TaxAmount>
                     <Quantity>1</Quantity>
                     <RefundRequestID>39644</RefundRequestID>
                     <RefundRequested>true</RefundRequested>
                     <AdjustmentReason>CouldNotShip</AdjustmentReason>
                  </RefundItem>
               </RefundItems>
               <MessageCode xmlns="http://api.channeladvisor.com/datacontracts/orders">0</MessageCode>
            </ResultData>
         </SubmitOrderRefundResult>
      </SubmitOrderRefundResponse>
   </soap:Body>
</soap:Envelope>