API - Refund

Refund 

This API can be used to undo the purchase API's action a purchase action. The API is a restrictive one and can be called by an admin of the site only. Any other user trying to invoke this API would result in an error being returned by the API. 

Upon calling this API

  • The Invoice of original transaction will be put in REFUNDED status
  • If the original invoice was related to single purchase, then that purchase will be undone. E.g. if it was for program-session or course-session enrollment, then user will be removed from the corresponding program / course-session.
  • If the original invoice was related to group purchase, then the coupon resulted from original transaction will be put in REFUNDED status and any user enrolled in course-session or program using that coupon will be removed.   

API Details

Signature of API call

connection.invokeApi(String uri, String realUserName, Map<String, String> requestParameters);

See details about invoking API in general

 

Parameter 1 - URI

paymentTxnService.do

 

Parameter 2 - UserName

Username of any site administrator

 

Parameter 3 - Request Parameters

Name Value
dispatch refund
id Invoice id of original purchase transaction

 

Response

1. Response on successful refund

HTTP Response Code = HttpServletResponse.SC_OK

Response XML

<response code="0">

    <msgs>

        <msg>

            <code>0</code>

            <value>

            <![CDATA[Success]]>

            </value>

        </msg>

    </msgs>

</response>

 

2. Response for unauthorized access

HTTP Response Code = HttpServletResponse.SC_UNAUTHORIZED

Response XML

 

<response code="-1">

    <msgs>

         <msg>

             <code>0005</code>

             <value><![CDATA[You are not allowed to perform this action.]]></value>

         </msg>

    </msgs>

</response>

Error response when invoice not found

 

<response code="-1">

    <msgs>

         <msg>

             <code>0004</code>

             <value><![CDATA[Unable to find Invoice with matching Id xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx.]]></value>

         </msg>

    </msgs>

</response>

Error response when invoice is not in refundable state (already refunded)

<response code="-1">

    <msgs>

         <msg>

             <code>0231</code>

             <value><![CDATA[Not refundable Invoice 34669703-f5b3-11e7-a6ac-0cc47a352510, status = REFUNDED]]></value>

         </msg>

    </msgs>

</response>

 

Code Snippet

       /*  Check API Call for detail generic code */
    Map<String, String> parameters = new HashMap<String, String>();
    parameters.put("dispatch", "refund");    
   
    String retStr = connection.invokeApi("paymentTxnService.do", "chenry", parameters);
    System.out.println(retStr);

Example of group purchase

     Map<String, String> parameters = new HashMap<String, String>();
    parameters.put("dispatch", "refund");    

    parameters.put("id", "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx"); 

    String retStr = connection.invokeApi("paymentTxnService.do", "chenry", parameters);

 


Rating: