Complete an Incoming Payment
POST /incoming-payments/{id}/complete
A client with the appropriate permissions MAY mark a non-expired incoming payment as completed
indicating that the client is not going to make any further payments toward this incoming payment, even though the full incomingAmount
may not have been received.
This indicates to the receiving Account Servicing Entity that it can begin any post processing of the payment such as generating account statements or notifying the account holder of the completed payment.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Sub-resource identifier
Header Parameters
Section titled “Header Parameters ”The Signature-Input field is a Dictionary structured field containing the metadata for one or more message signatures generated from components within the HTTP message. Each member describes a single message signature. The member’s key is the label that uniquely identifies the message signature within the context of the HTTP message. The member’s value is the serialization of the covered components Inner List plus all signature metadata parameters identified by the label. The following components MUST be included: - “@method” - “@target-uri” - “authorization”. When the message contains a request body, the covered components MUST also include the following: - “content-digest” The keyid parameter of the signature MUST be set to the kid value of the JWK. See ietf-httpbis-message-signatures for more details.
The Signature-Input field is a Dictionary structured field containing the metadata for one or more message signatures generated from components within the HTTP message. Each member describes a single message signature. The member’s key is the label that uniquely identifies the message signature within the context of the HTTP message. The member’s value is the serialization of the covered components Inner List plus all signature metadata parameters identified by the label. The following components MUST be included: - “@method” - “@target-uri” - “authorization”. When the message contains a request body, the covered components MUST also include the following: - “content-digest” The keyid parameter of the signature MUST be set to the kid value of the JWK. See ietf-httpbis-message-signatures for more details.
The signature generated based on the Signature-Input, using the signing algorithm specified in the “alg” field of the JWK.
The signature generated based on the Signature-Input, using the signing algorithm specified in the “alg” field of the JWK.
Responses
Section titled “ Responses ”OK
An incoming payment resource represents a payment that will be, is currently being, or has been received by the account.
object
The URL identifying the incoming payment.
The URL of the wallet address this payment is being made into.
Describes whether the incoming payment has completed receiving fund.
The maximum amount that should be paid into the wallet address under this incoming payment.
object
The value is an unsigned 64-bit integer amount, represented as a string.
The assetCode is a code that indicates the underlying asset. An ISO4217 currency code should be used whenever possible. The ISO4217 representation of the US Dollar is USD.
The number of decimal places that defines the scale of the smallest divisible unit for the given asset code. It determines how an integer amount is scaled to derive the actual monetary value. For example, USD has an asset scale of 2 with the smallest unit being 0.01. An integer amount of 1000
with an assetCode
of USD
and assetScale
of 2
translates to $10.00.
The total amount that has been paid into the wallet address under this incoming payment.
object
The value is an unsigned 64-bit integer amount, represented as a string.
The assetCode is a code that indicates the underlying asset. An ISO4217 currency code should be used whenever possible. The ISO4217 representation of the US Dollar is USD.
The number of decimal places that defines the scale of the smallest divisible unit for the given asset code. It determines how an integer amount is scaled to derive the actual monetary value. For example, USD has an asset scale of 2 with the smallest unit being 0.01. An integer amount of 1000
with an assetCode
of USD
and assetScale
of 2
translates to $10.00.
The date and time when payments under this incoming payment will no longer be accepted.
Additional metadata associated with the incoming payment. (Optional)
object
The date and time when the incoming payment was created.
Examples
{ "id": "https://ilp.interledger-test.dev/incoming-payments/016da9d5-c9a4-4c80-a354-86b915a04ff8", "walletAddress": "https://ilp.interledger-test.dev/alice/", "incomingAmount": { "value": "250", "assetCode": "USD", "assetScale": 2 }, "receivedAmount": { "value": "250", "assetCode": "USD", "assetScale": 2 }, "completed": true, "expiresAt": "2022-04-12T23:20:50.52Z", "createdAt": "2022-03-12T23:20:50.52Z", "metadata": { "description": "Hi Mo, this is for the cappuccino I bought for you the other day.", "externalRef": "Coffee w/ Mo on 10 March 2" }}
Authorization required
object
object
Additional details about the error.
object
Examples
{ "error": { "code": "invalid_request", "description": "Error description", "details": { "anyKey": "anyValue" } }}
{ "error": { "code": "invalid_request", "description": "Error description" }}
Headers
Section titled “Headers ”The address of the authorization server for grant requests in the format GNAP as_uri=<URI>
Forbidden
object
object
Additional details about the error.
object
Examples
{ "error": { "code": "invalid_request", "description": "Error description", "details": { "anyKey": "anyValue" } }}
{ "error": { "code": "invalid_request", "description": "Error description" }}
Incoming Payment Not Found
object
object
Additional details about the error.
object
Examples
{ "error": { "code": "invalid_request", "description": "Error description", "details": { "anyKey": "anyValue" } }}
{ "error": { "code": "invalid_request", "description": "Error description" }}