Capture Payment

Why Capture Payment is Important

The Capture Payment call should be complete by merchants in parallel with shipping the order. The Capture Payment call will trigger an invoice to be sent to the customer, the terms of which are based on the payment method the consumer selected at checkout. Merchants may also choose to execute a Partial Capture, which allows for orders to be changed or to be shipped via multiple deliveries without having to cancel and reprocess the transaction.

An Example

Astrid made her purchase, but the merchant checks their warehouse and sees that the leather jacket size M Astrid ordered is not in stock. The merchant knows they are getting a new shipment of leather jackets in size M next week and is willing to accept the cost of shipping the leather jackets separately, rather than risk losing Astrid as a customer.

The merchant sends Astrid an email explaining this and then does a Partial Capture via a Capture API Call or the Merchant Portal.

Please Note: the socks have been remove from the order during the Void Authorization Example.

Response Contents

  • Captured Amount – the total amount captured by this API call.
  • Authorized Amount – the original amount of the full order, as it was provided in the AUTHORIZE call.
  • Remaining Authorized Amount – how much money is left for possible captures after this partial capture.
  • Capture Number – the unique ID of this capture in the Riverty system. Needed for Refunds etc.

Important to keep in mind

  1. When Riverty receives an authorization request, there are two possible outcomes: the request is either accepted or rejected. If the request is accepted, the order is considered a "reservation" and will be purchased after the capture is received. However, if no follow-up call is made to capture or cancel the order, it will be automatically voided (canceled) after 30/45 days. This time period may vary depending on the region.

  2. Please send your own unique identifier for the specific capture into the field invoiceNumber. If you do not send it, Riverty will generate a number and use this for the communication with the consumer. Using different numbers may confuse the consumer.

  3. When processing partial captures, it is mandatory to include the 'order lines' of the products that need to be captured in the call.

See the detailed API documentation for more information.

Request

{
  "orderDetails": {
    "totalGrossAmount": 35,
    "items": [
      {
        "productId": "3323-BRN-M",
        "description": "Woolen hat, brown, Size M",
        "grossUnitPrice": 30,
        "netUnitPrice": 25.21,
        "quantity": 1,
        "vatPercent": 19,
        "vatAmount": 4.79,
        "imageUrl": "https://developer-sandbox.riverty.com/images/brown_wool_hat.jpg"
      },
      {
        "productId": "SHIP",
        "description": "Shipping",
        "type": "ShippingFee",
        "grossUnitPrice": 5,
        "netUnitPrice": 4.2,
        "quantity": 1,
        "vatPercent": 19,
        "vatAmount": 0.8
      }
    ]
  }
}

Response

{
  "capturedAmount": 35,
  "authorizedAmount": 185,
  "remainingAuthorizedAmount": 150,
  "captureNumber": "800001157"
}

FAQ

What validation do you apply to the amount fields?

We support rounding differences. Please make sure that following applies:

  • TotalGrossAmount equals the sums of grossUnitPrice * Quantity for all line items
  • The rounding difference between grossUnitPrice and netUnitPrice + vatAmount may not be bigger then 1 Cent per quantity (e.g. you have a quantity of 2; we will allow a difference of 2 cents for grossUnitPrice versus netUnitPrice + vatAmount)
  • Same rounding difference logic also applied for the totalNetAmount
I do not have the imageUrl in my order management system. Is this a problem?

You do not need to send in productUrl and imageUrl if they are already part of the Authorize request and the same product id is used

Can I do multiple captures?

You can do multiple Partial Captures for the same order, as long as there is a balance left over in the Remaining Authorized Amount. Please make sure to send a unique invoiceNumber per capture.