# Payment Gateway Reconciliation Gateway reconciliation is the process of verifying that the electronic payment and refund transactions processed in Zuora match the transactions reported by the gateway. For example, if Zuora processed 200 transactions through a gateway, you should see the same number of transactions on the gateway's reconciliation report, sometimes also called the settlement report. You can complete the following Gateway Reconciliation tasks through API: - [Settle a payment](https://developer.zuora.com/api-references/api/operation/POST_SettlePayment/) - [Reject a payment](https://developer.zuora.com/api-references/api/operation/POST_RejectPayment/) - [Reverse a payment](https://developer.zuora.com/api-references/api/operation/POST_ReversePayment/) - [Reconcile a refund](https://developer.zuora.com/api-references/api/operation/POST_ReconcileRefund/) ## Reverse a payment - [POST /v1/gateway-settlement/payments/{payment-key}/chargeback](https://developer.zuora.com/v1-api-reference/api/payment-gateway-reconciliation/post_reversepayment.md): If the Asynchronous Payment Statuses feature is not enabled, this API operation sets the Gateway State field of the payment to Settled, creates a refund for the amount specified in the request, and returns the Refund object as response. If the Asynchronous Payment Statuses feature is enabled, for ACH and Bank Transfer payments that are reversed before they are settled, this API operation sets the Payment Status field to Processed, sets the Gateway State field of the payment to Settled, creates an external refund for the amount specified in the request, and returns the Refund object as response. If the reason code "Payment Reversal" is active in the Reason Codes list, the reason code of the external refund is set to "Payment Reversal". Otherwise, the default reason code in the list is used. ## Reject a payment - [POST /v1/gateway-settlement/payments/{payment-key}/reject](https://developer.zuora.com/v1-api-reference/api/payment-gateway-reconciliation/post_rejectpayment.md): If the Asynchronous Payment Statuses feature is not enabled, this API operation sets the Gateway State field of the payment to FailedToSettle, creates a refund for the payment amount, and returns the Refund object as response. If the Asynchronous Payment Statuses feature is enabled, for ACH and Bank Transfer payments, this API operation sets the Payment Status field to Error and the Gateway State field to FailedToSettle, and unapply the payment if it is already applied. If the reason code "Payment Rejection" is active in the Reason Codes list, the reason code of the external refund is set to "Payment Rejection". Otherwise, the default reason code in the list is used. ## Settle a payment - [POST /v1/gateway-settlement/payments/{payment-key}/settle](https://developer.zuora.com/v1-api-reference/api/payment-gateway-reconciliation/post_settlepayment.md): If the Asynchronous Payment Statuses feature is not enabled, this API operation sets the Gateway State field of the payment to Settled and returns the Payment object as response. If the Asynchronous Payment Statuses feature is enabled, for ACH and Bank Transfer payments, this API operation sets the Payment Status field to Processed and the Gateway State field to Settled. ## Reconcile a refund - [POST /v1/refunds/{refund-key}/reconcile](https://developer.zuora.com/v1-api-reference/api/payment-gateway-reconciliation/post_reconcilerefund.md): Reconciles a refund when receiving the gateway reconciliation request or event.