cancel
Showing results for 
Search instead for 
Did you mean: 

how to implement partial refund in Cybersource Simple Order API

Hi

Had anyone experience, using cybersource refund. Here is my request, but it only allows full refund.

 <?xml version="1.0" encoding="UTF-8"?>
 <requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.126">
    <merchantID>brandbank_au_test</merchantID>
    <merchantReferenceCode>437802</merchantReferenceCode>
    <purchaseTotals>
    <currency>AUD</currency>
    <grandTotalAmount>69.12</grandTotalAmount>
   </purchaseTotals>
   <ccAuthReversalService run="false">
    <authRequestID>2J580114GU137032F</authRequestID>
   </ccAuthReversalService>
 </requestMessage>
3 REPLIES 3

You need to use the ccCreditService to do a refund.  An Auth Reversal is different.   Here's an example:

<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.164">
    <merchantID>mymid</merchantID>
    <merchantReferenceCode>REFUND0001</merchantReferenceCode>
    <clientApplication>SOAP Toolkit API</clientApplication>
    <purchaseTotals>
        <currency>AUD</currency>
        <grandTotalAmount>10.00</grandTotalAmount>
    </purchaseTotals>
    <ccCreditService run="true">
        <captureRequestID>6540107868586339804003</captureRequestID>
    </ccCreditService>
</requestMessage>

pevans
Member

Check this:

<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.164">
    <merchantID>mymid</merchantID>
    <merchantReferenceCode>REFUND0001</merchantReferenceCode>
    <clientApplication>SOAP Toolkit API</clientApplication>
    <purchaseTotals>
        <currency>AUD</currency>
        <grandTotalAmount>10.00</grandTotalAmount>
    </purchaseTotals>
    <ccCreditService run="true">
        <captureRequestID>6540107868586339804003</captureRequestID>
    </ccCreditService>
</requestMessage>

 

 

BellaJames
Member

That parameter comes from the result of a capture API request. Using that for a refund request is called a follow on refund request and requires the capture to happen first. If you want to do a stand alone refund you don't pass that parameter but you do have to pass the credit card fields.

HarmerWiltriz
Member