Skip to main content

Capture a payment

note

Payments initiated with the ePayment API in Finland and Denmark have only 14 days to be captured; while payments in Norway have 180 days. If the payments aren't captured within this time, they will be automatically cancelled.

If you need more than 14 days, use the Checkout API to initiate the payments. Then, you will have 180 days to capture the payment, still using the ePayment capture endpoint. The Checkout payments also support multiple partial captures.

There are two types of capture: full or partial. With full capture, you capture the entire amount owed. This is the default capture method supported when initiating transactions over the ePayment API. With partial capture, you capture part of the amount. You can do this multiple times up until the full amount is captured. See Partial capture for more details. This is currently only supported for transactions initiated over the Checkout API.

See Knowledge base: Reserve and Capture for a general introduction to reservations and captures.

Full capture

Once the goods or services are delivered or on their way to the customer, it's time to capture the payment. See: When should I charge the customer?.

Capture is done with a POST:/epayment/v1/payments/{reference}/capture request.

An example request body:

{
"modificationAmount":{
"currency":"NOK",
"value":49900
}
}

In the response, the aggregate object will be updated to reflect the capture, for example:

{
"aggregate":{
"authorizedAmount":{
"currency":"NOK",
"value":49900
},
"cancelledAmount":{
"currency":"NOK",
"value":0
},
"capturedAmount":{
"currency":"NOK",
"value":49900
},
"refundedAmount":{
"currency":"NOK",
"value":0
}
}
}

A notification will also be sent once the capture is completed if a webhook is registered for the event epayments.payment.captured.v1.

Partial capture

note

Payments initiated with the ePayment API in Finland and Denmark do not support partial capture - you must inquire during onboarding or contact customer service.

If you need partial captures, you can alternatively use the Checkout API to initiate your payments. Then, you'll be able to do multiple partial captures for these payments using the capture endpoint.

If enabled for your sales unit, you can capture part of the full amount owed, instead of the full amount. This can be done multiple times until the authorized amount has been captured.

Specify the amount in the POST:/epayment/v1/payments/{reference}/capture request.

The Idempotency-Key header is there to ensure that only one operation is done, if needed.

An example of a partial capture request body (capturing 100.00 NOK of the 499.00 NOK reserved):

{
"modificationAmount":{
"currency":"NOK",
"value":10000
}
}

Once the capture is completed the aggregate will be updated to reflect this, for example:

{
"aggregate":{
"authorizedAmount":{
"currency":"NOK",
"value":49900
},
"cancelledAmount":{
"currency":"NOK",
"value":0
},
"capturedAmount":{
"currency":"NOK",
"value":10000
},
"refundedAmount":{
"currency":"NOK",
"value":0
}
}
}

If you are not going to capture the rest of the authorized amount you should cancel the remaining amount.

Late capture for MobilePay sales units

For all Checkout customers, and for some other special cases it is possible to do a capture after the normal 14-day interval documented above.

If you are not a Checkout customer, this is a feature that needs to be approved for your sales unit on a case by case basis, and it requires a legitimate need for it to run your business. The typical scenarios are online retail where goods are delivered, and capture is done later than normal after the purchase order was reserved - such as when a product is on back-order and the merchant does not have it available in time.

We cannot guarantee that late capture succeed, so there is chance of a failed capture, for example in the case of insufficient funds, expired cards etc.

Late capture is done exactly as normal capture.

Rate limiting

For rate limiting questions, see: Rate limiting.

Help us improve our documentation

Did you find what you were looking for?