What does payment capture do?
Capturing a payment is the act of settling funds after the payment is authorized. A capture payment call is a request to a payment processor to actually charge the customer’s account and transfer the funds to the merchant’s account. This typically occurs after an authorization payment call has been made, ensuring that the funds will be available when the capture payment request is made. The capture payment call is an essential part of the payment process, as it ensures that the merchant receives the funds that they are owed for the goods or services that they have provided.How to capture a payment
Some non-card payment methods will automatically capture the payment after the authorization.
- SETTLED if the processor captured the payment immediately
- SETTLING if the processor needs more time to capture the payment i.e. asynchronous capture. See the section below for more.
- PARTIALLY_SETTLED if only a part of the authorized amount was captured - see the section below for more.
- the Payments timeline in the Primer Dashboard
- payment webhooks to receive status updates
- the API call
Workflows
Automate sophisticated payment flows to capture your payments.
Payments API
Programmatically capture your payments via API based on your business logic.
Capture a payment via Workflows
Use Workflows to set up business logic on when and how to capture a payment - without writing a single line of code. In your payment workflow, once you have an “Authorize payment” action set up from the Primer Payments app, simply add your “Capture payment” action. You can configure any additional business flows in between your “Authorize payment” and “Capture payment” actions, creating powerful payment flows that suit your needs. For example, you may want to send an email to the customer immediately after a successful authorization before capturing the payment - this becomes very easy with Primer.
Example workflow
Asynchronous capture considerations still apply to the “Capture payment” action in Workflows. It’s recommended to use Primer’s payment webhooks to confirm when the payment status is SETTLED.
Capture a payment via Payments API
Capture a payment using the Payments API - see the API reference for the details.BASH
Handle asynchronous capture
Capture can be asynchronous i.e. once the capture call is sent to the processor, it can take some time for the payment to become SETTLED. As a result, it’s recommended you use payment webhooks to receive updates on when the payment becomes SETTLED and not rely on the response to the capture call, which will only tell you that the capture request was successful, not necessarily that the payment is SETTLED. When you attempt to capture a payment with such a processor, the payment status is first set to SETTLING. The processor then automatically notifies Primer once the capture is completed, which sets the payment status to SETTLED and the payment status webhook event to be sent to you. Read more here on how to handle webhooks.Partial Capture
Not all processors and payment methods support partial capture. Please see the details of the specific processor or payment method to learn more about the capabilities supported.
- the final amount isn’t known at authorization and ends up being less than the authorized amount.
- the order is made of multiple physical products that should be shipped separately - do multiple partial captures, one per product shipped.
amount
- the amount you want to capture. If no amount is specified, it defaults to the full amount.final
- ifTrue
(it is by default), no subsequent captures are allowed, but ifFalse
, subsequent capture calls are supported.
- the
amount
input to less than the authorization amount
final
toFalse
<amount authorized> - <amount already captured>
.
Refunds Over Partial Captures
Primer also supports refunds over partial captures, giving you more flexibility in managing your payments. This feature is particularly useful for scenarios like marketplaces or logistics-driven workflows. For example, you can capture payments once per seller in a marketplace or once per shipment, ensuring your payment process aligns with your business operations. Each partial capture is uniquely identified by atransactionEventId
, allowing you to target specific partial captures for refunds with precision and ease.
Limitations to Be Aware Of
While these features are designed to enhance your payment workflows, there is one important consideration:
- Concurrent Partial Captures: Currently Primer API have certain limitations around handling multiple partial captures at the same time, so we highly recommend to make submit them in sequential manner.
If you want to use this feature, please contact us to ensure we can accompany you through the implementation and help address any specific needs or challenges.