How do I capture remaining balance of an order?

Hello,

I want to capture remaining balance of order:

How to do it with API? I tried to use orderCapture - GraphQL Admin but order does not return AUTHORIZATION transaction, only SALE. `orderCapture` accept only AUTHORIZATION transaction id. What did I miss?

Hey @Dzonotonas! The issue here is that orderCapture is specifically for capturing authorized payments - where funds have been reserved but not yet claimed. Looking at your screenshot, that order has a SALE transaction (the initial payment was already captured), not an AUTHORIZATION. So there’s nothing to “capture” in that sense.

For orders with payment terms, you need a different approach depending on how you want to collect:

  1. If the customer has a vaulted payment method and you want to charge it directly, use orderCreateMandatePayment. Note: this requires the read_payment_mandate and write_payment_mandate scopes, which need explicit approval in the Partner Dashboard.

  2. If you want to send the customer an invoice they can pay themselves, use orderInvoiceSend.

  3. You can also grab a direct payment link from order.paymentCollectionDetails.additionalPaymentCollectionUrl if you need to share it outside of email - this doesn’t require special scopes.

To understand what payment options are available for a specific order, query the paymentCollectionDetails and paymentTerms fields on the order - they’ll tell you when payment is due and what methods are available.