Skip to main content
A transaction is one payment attempt. It records the provider, amount, customer, invoice, status, and lifecycle events without exposing provider credentials.

Inspect payment attempts

Open Transactions to investigate a payment from the dashboard, or list them from your application:
One invoice can have multiple transactions when a renewal is retried. The original failed transaction remains immutable; a retry creates a new attempt. provider names the processor. paymentMethod names the method used for that attempt (card, mercado_pago, or oxxo), or is null when unknown. It stays tied to the transaction if the customer changes their saved method later. subPaymentMethod describes how a Mercado Pago charge was funded when dLocal reports it: credit_card, debit_card, prepaid_card, bank_transfer, or account_money. It is null when unavailable or unknown. The dashboard also shows the card brand and last four digits when dLocal provides them for that charge.

Refund a successful transaction

The operation requests a full refund and returns its actual provider-neutral status. Do not grant the refund in your product before the result is confirmed. Handle payment.refunded idempotently for downstream access or balance changes. The subscription and its renewal schedule stay as they were, even when the payment is fully refunded. To end the subscription, cancel it separately. When Commet processes the payment as Merchant of Record and the card issuer reports it as fraudulent, Commet automatically refunds what remains of it to avoid a chargeback. The transaction appears as refunded and you receive payment.refunded. The refunded amount, excluding refunded taxes, is debited from your balance, and Commet’s and the processor’s fees are not returned.

Retry a failed renewal

Retry is for failed subscription renewals, not arbitrary one-time charges. It keeps the failed attempt for audit and returns the new attempt honestly. For a past-due subscription, prefer the lifecycle actions in Handle Failed Payments when the customer needs a recovery link or a new payment method. Provider routing changes do not move a saved payment method. A retry uses the connection already bound to the subscription.