Process Refund

Process a refund in the payment gateway.
Available in: Salesforce Spring ’20 and later
Available in: API 48.0 and later

To access the commercepayments API, you need the PaymentPlatform org permission.
  1. Get the referenced refund request object from the PaymentGatewayContext Class.
    commercepayments.ReferencedRefundRequest = (commercepayments.ReferencedRefundRequest)gatewayContext.getPaymentRequest();
  2. Set the HTTP request object.
    HttpRequest req = new HttpRequest();
    req.setHeader('Content-Type', 'application/json');
    
  3. Read the parameters from the ReferencedRefundRequest object and prepare the HTTP request body.
  4. Make the HTTP call to the gateway using thePaymentsHttp Class.
    commercepayments.PaymentsHttp http = new commercepayments.PaymentsHttp();
    HttpResponse res = http.send(req);
    
  5. Parse the httpResponse and prepare the ReferencedRefundResponse object.
    commercepayments.ReferencedRefundResponse referencedRefundResponse = new commercepayments.ReferencedRefundResponse();
    referencedRefundResponse.setGatewayResultCode(“”);
    referencedRefundResponse.setGatewayResultCodeDescription(“”);
    referencedRefundResponse.setGatewayReferenceNumber(“”);
    referencedRefundResponse.setSalesforceResultCodeInfo(getSalesforceResultCodeInfo(commercepayments.SalesforceResultCode.SUCCESS.name())); 
    referencedRefundResponse.setGatewayReferenceDetails(“”);
    referencedRefundResponse.setAmount(double.valueOf(100);
    
  6. Return the referencedRefundResponse.