Ir al contenido
GitHub

Continue a grant request

Esta página aún no está disponible en tu idioma.

The Grant Continuation Request API lets you continue an interactive grant request during or after user interaction.

An authorization server can require a user (typically the client’s end user) to approve the grant by interacting directly with the server. For example, by tapping an Approve button on a web page provided by the auth server. Outgoing payment grant requests require interactive grants.

After the grant is approved, the auth server sends the client an interaction reference (interact_ref). The client must send a continuation request containing the reference back to the auth server to obtain an access token.

The code snippets below let an authorized client send a grant continuation request to an authorization server.

We recommend creating a wallet account on the test wallet. Creating an account allows you to test your client against the Open Payments APIs by using an ILP-enabled wallet funded with play money.

Authenticated client required
Prerequisites
Initial configuration

If you’re using JavaScript, only do the first step.

  1. Add "type": "module" to package.json.

  2. Add the following to tsconfig.json

    {
    "compilerOptions": {
    "target": "ES2022",
    "module": "ES2022"
    }
    }
// Import dependencies
import { createAuthenticatedClient } from '@interledger/open-payments'
// Initialize client
const client = await createAuthenticatedClient({
walletAddressUrl: WALLET_ADDRESS,
privateKey: PRIVATE_KEY_PATH,
keyId: KEY_ID
})
// Continue grant
const grant = await client.grant.continue(
{
accessToken: CONTINUE_ACCESS_TOKEN,
url: CONTINUE_URI
},
{
interact_ref: interactRef
}
)
// Check grant state
if (!isFinalizedGrant(grant)) {
throw new Error('Expected finalized grant. Received non-finalized grant.')
}
// Output
console.log('OUTGOING_PAYMENT_ACCESS_TOKEN =', grant.access_token.value)
console.log(
'OUTGOING_PAYMENT_ACCESS_TOKEN_MANAGE_URL =',
grant.access_token.manage
)

For TypeScript, run tsx path/to/directory/index.ts. View full TS source

For JavaScript, run node path/to/directory/index.js. View full JS source