---
schema_version: "1"
id: 82ba4b3cd6e85a8a372d4c8e4ba40e80ecf66366542eb77daca8d0d942883be0
title: Process Payments and Issue Refunds by Using APIs
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/billing_payments_apis.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.billing_payments_apis.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: cc63ee3e8d99bdf66994027cf218ba8982dda781ab1d5ba34fcf82d3151feb18
description: Use a suite of APIs to process payments and issue refunds. Authorize and capture payments by using native payment gateways, reverse payment authorizations, tokenize payment methods, and save card details for processing recurring payments. Create and update payment schedulers, and allocate or unallocate payments. You can process ad hoc payments, and refund your customers if they change or cancel products or services that they paid for.
products:
  - Revenue Cloud
release: "264"
---
# Process Payments and Issue Refunds by Using APIs

Use a suite of APIs to process payments and issue refunds. Authorize and capture payments by using native payment gateways, reverse payment authorizations, tokenize payment methods, and save card details for processing recurring payments. Create and update payment schedulers, and allocate or unallocate payments. You can process ad hoc payments, and refund your customers if they change or cancel products or services that they paid for.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions with Revenue Cloud</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">To integrate a native payment gateway, you have two options. Use Salesforce Payments, which runs on Stripe and is available with the <a href="https://help.salesforce.com/s/articleView?id=ind.revenue_licenses_areas_and_features.htm&amp;release=264.0.0&amp;type=5">the Revenue Cloud Billing license</a> on a cost-per-transaction basis. Or, connect your own Adyen account, contracted directly with Adyen.</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">&nbsp;</td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
      <colgroup>
        <col style="width:50%">
        <col style="width:50%">
      </colgroup>
      <thead class="slds-text-title_caps ">
        <tr class="">
          <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d93754e85">User Permissions Needed</th>
        </tr>
      </thead>
      <tbody>
        <tr class="">
          <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e85 ">To process payments and issue refunds by using APIs:</td>

          <td class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e85 ">Payment Operations User permission set</td>

        </tr>
      </tbody>
    </table> <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
      <colgroup>
        <col>
        <col>
      </colgroup>
      <thead class="slds-text-title_caps ">
        <tr class="">
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d93754e114">Goal</th>
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d93754e117">API </th>
        </tr>
      </thead>
      <tbody>
        <tr class="">
          <td data-label="Goal" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e114 ">Process ad hoc payments</td>

          <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e117 ">
            <p><a href="https://developer.salesforce.com/docs/commerce/salesforce-commerce/references/comm-ccs-payments-ref?meta=salePayment" target="_blank">Payment Sale API</a></p>
            <p style="margin-bottom:0;">To automate the processing of ad hoc payments, build a custom flow and use the
              <a href="https://developer.salesforce.com/docs/atlas.en-us.api_action.meta/api_action/actions_obj_payment_sale.htm" target="_blank">Payment Sale action</a>.
            </p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Goal" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e114 ">Authorize payments </td>

          <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e117 "><a href="https://developer.salesforce.com/docs/commerce/salesforce-commerce/references/comm-ccs-payments-ref?meta=authorizePayment" target="_blank">Payment Authorization API</a></td>

        </tr>
        <tr class="">
          <td data-label="Goal" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e114 ">Reverse the authorization of payments</td>

          <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e117 "><a href="https://developer.salesforce.com/docs/commerce/salesforce-commerce/references/comm-ccs-payments-ref?meta=reverseAuthorization" target="_blank">Authorization Reversal API</a></td>

        </tr>
        <tr class="">
          <td data-label="Goal" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e114 ">Capture authorized payments</td>

          <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e117 "><a href="https://developer.salesforce.com/docs/commerce/salesforce-commerce/references/comm-ccs-payments-ref?meta=capturePayment" target="_blank">Payment Capture API</a></td>

        </tr>
        <tr class="">
          <td data-label="Goal" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e114 ">Tokenize payment methods</td>

          <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e117 "><a href="https://developer.salesforce.com/docs/commerce/salesforce-commerce/references/comm-ccs-payments-ref?meta=tokenizePaymentMethod" target="_blank">Tokenize Payment Method API</a></td>

        </tr>
        <tr class="">
          <td data-label="Goal" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e114 ">Create payment schedulers</td>

          <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e117 "><a href="https://developer.salesforce.com/docs/atlas.en-us.revenue_lifecycle_management_dev_guide.meta/revenue_lifecycle_management_dev_guide/connect_resources_create_payment_scheduler.htm" target="_blank">Create Payment Scheduler API</a></td>

        </tr>
        <tr class="">
          <td data-label="Goal" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e114 ">Activate or deactivate payment schedulers</td>

          <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e117 "><a href="https://developer.salesforce.com/docs/atlas.en-us.revenue_lifecycle_management_dev_guide.meta/revenue_lifecycle_management_dev_guide/connect_resources_update_payment_scheduler.htm" target="_blank">Update Payment Scheduler API</a></td>

        </tr>
        <tr class="">
          <td data-label="Goal" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e114 ">Apply a payment to an invoice or invoice line</td>

          <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e117 ">
            <p><a href="https://developer.salesforce.com/docs/atlas.en-us.revenue_lifecycle_management_dev_guide.meta/revenue_lifecycle_management_dev_guide/connect_resources_payment_line_apply.htm" target="_blank">Payment Line Apply API</a></p>
            <p style="margin-bottom:0;">To automate this step, build a custom flow and use the <a href="https://developer.salesforce.com/docs/atlas.en-us.revenue_lifecycle_management_dev_guide.meta/revenue_lifecycle_management_dev_guide/connect_resources_payment_line_apply.htm" target="_blank">Apply Payment action</a>.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Goal" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e114 ">Unapply a payment from an invoice or invoice line</td>

          <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e117 ">
            <p><a href="https://developer.salesforce.com/docs/atlas.en-us.revenue_lifecycle_management_dev_guide.meta/revenue_lifecycle_management_dev_guide/connect_resources_payment_line_unapply.htm" target="_blank">Payment Line Unapply API</a></p>
            <p style="margin-bottom:0;">To automate this step, build a custom flow and use the <a href="https://developer.salesforce.com/docs/atlas.en-us.revenue_lifecycle_management_dev_guide.meta/revenue_lifecycle_management_dev_guide/actions_obj_unapply_payment.htm" target="_blank">Unapply Payment action</a>.</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Goal" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e114 ">Create refunds for processed payments</td>

          <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e117 "><a href="https://developer.salesforce.com/docs/commerce/salesforce-commerce/references/comm-ccs-payments-ref?meta=createPaymentRefund" target="_blank">Create a Payment Refund API</a></td>

        </tr>
        <tr class="">
          <td data-label="Goal" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e114 ">Issue refunds against original payments</td>

          <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d93754e117 ">
            <p><a href="https://developer.salesforce.com/docs/atlas.en-us.revenue_lifecycle_management_dev_guide.meta/revenue_lifecycle_management_dev_guide/connect_resources_apply_refund_to_payment.htm" target="_blank">Refund Line Apply API</a></p>
            <p style="margin-bottom:0;">To automate this step,
              build a custom flow and use the <a href="https://developer.salesforce.com/docs/atlas.en-us.revenue_lifecycle_management_dev_guide.meta/revenue_lifecycle_management_dev_guide/actions_obj_automate_refund.htm" target="_blank">Automate Refund action</a>.</p>
          </td>

        </tr>


      </tbody>
    </table>