transactions

Capture transaction

Capture collects money amounts (minimum of 0.99) from a customer bank account of a previously authorized transaction.

This operation creates a new transaction called a Capture transaction. It is linked to the payment you are partially or fully capturing.

You can issue multiple capture requests against a single Authorization. However, the sum of these captures must be less than or equal to what is allowed by the authorized payment.

Ensure you also implement an Event Notification Handler to get transaction status updates. Although the splitToken field is optional at the API level, if you are using 'guaranteed' payments, omitting this field will result in a Fail event. When providing a splitToken, be sure the string is URL encoded.

Note for Money Transfer If your application is configured for "Money Transfer" many properties in the beneficiary and beneficiaryAccount objects will be required. See Send money for more details.

post/transactions/{transactionId}/capture

Path parameters

transactionIdstring required

Authorization Transaction ID retrieved from a Trustly Deferred or Recurring transaction, or Preauthorization Transaction ID retrieved from a Trustly Preauthorize API.

Headers

Authorizationstring required

Request body

merchantReferencestring required

A specific merchant reference for this capture such as an order number. If your account is configured for idempotency, this value must be unique to prevent duplicate transactions.

amountstring required

The amount to be captured. If the value is omitted, the maximum allowed amount is captured. (maximum of 10 characters with support for 2 decimal places)

splitTokenstring required

Encrypted token received from the Authorize event. Note, token may include url escape characters which must be encoded or the request will result in an error.

beneficiaryAccount.ibanstring

International Bank Account Number (IBAN)

beneficiaryAccount.accountNumberstring

Account Number

beneficiaryAccount.paymentProvider.namestring

Name of financial institution. 35 characters maximum.

beneficiaryAccount.paymentProvider.swiftstring

International SWIFT code of the payment provider

beneficiaryAccount.paymentProvider.routingNumberstring

Routing Number (9 digits)"

beneficiaryAccount.paymentProvider.countrystring

2-letter ISO country code of the beneficiary financial institution

beneficiary.namestring

Customer full legal name

beneficiary.emailstring

Customer email address

beneficiary.dateOfBirthstring

Customer date of birth

beneficiary.taxIdstring

Customer tax ID (e.g. SSN [US], SIN [CA])

beneficiary.address.address1string

Street address of the beneficiary financial institution

beneficiary.address.address2string

Street address line 2 of the beneficiary financial institution (if applicable)

beneficiary.address.citystring

City or Locality of the beneficiary financial institution

beneficiary.address.statestring

State or Province of the beneficiary financial institution

beneficiary.address.zipstring

ZIP or postal code of the beneficiary financial institution

beneficiary.address.countrystring

2 character ISO Country code of the beneficiary financial institution

metadata.remittance.withdrawalMethod'BankDeposit' | 'Cash' | 'DebitCard' | 'DigitalWallet' | 'HomeDelivery'

The method by which the recipient will receive the funds.

interactionIdstring

Optional interaction ID parameter for Preauthorization and Capture APIs, inclusion of which signifies consumer interaction tied to data obtained from getTrustlyInteraction function. If not specified, Trustly assumes the consumer is present in session. Set to "consumerNotPresent" to signify that the transaction is merchant-initiated and the consumer is not present.

Response

OK

transactionIdstring required

A unique transaction identifier generated by Trustly (15 character max).

transactionType'0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '10' required

Type of transaction record. See Transaction Types

currency'USD' required

3-letter ISO Currency Code. Currently only USD is supported.

amountstring required

The amount of the transaction. (10 characters with support for 2 decimal places)

pendingstring required

The total amount that is still pending completion. (10 characters with support for 2 decimal places)

paidstring required

The total amount that was already paid. (10 characters with support for 2 decimal places)

refundedstring required

The total amount that was refunded. (10 characters with support for 2 decimal places)

reversedstring required

The total amount that was reversed. (10 characters with support for 2 decimal places)

balancestring required

The balance of the amount paid, minus the amount reversed and/or refunded. (10 characters with support for 2 decimal places)

status'0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '10' | '11' | '12' | '13' | '14' required

Status code of the Payment Provider Transaction record. See Transaction Types

statusMessagestring required

A descriptive status message. (120 characters)

ipstring required

The client IP address in IPv4 or IPv6 format.

createdAtinteger required

The date and time the transaction was created as a UNIX timestamp.

processedAtinteger required

The date and time the transaction was processed as a UNIX timestamp.

completedAtinteger required

The date and time the transaction was completed as a UNIX timestamp.

updatedAtinteger required

The date and time the transaction was last updated as a UNIX timestamp.

ppTrxIdstring

internal use only

merchantReferencestring required

Merchants internal reference id for the transaction.

expiredAtinteger

The date and time the preauthorization will expire as a UNIX timestamp.

recordVersionnumber double required

The current record version.

originalTransactionIdstring
feestring
timeZonestring
representmentScheduledAtnumber double
paymentProcessorTypestring
statusCodestring
preAuthorizedboolean

Changes

No recorded changes to this endpoint across all 1 revision of this API.