Create an outgoing payment
After a quote is accepted and the authorized client obtains the requisite grant from the payer’s authorization server, the client can create an outgoing payment resource against the payer’s wallet address.
These code snippets create an outgoing payment to a given wallet address. The amount of the outgoing payment is based on the amounts in the associated quote.
Before you begin
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.
Create an outgoing payment resource
Prerequisites
- Node 18
- A package manager such as NPM or PNPM
-
Open Payments SDK
- TSX
Additional configuration
Add "type": "module"
to package.json
Add the following to tsconfig.json
Get started
Import dependencies
import { createAuthenticatedClient } from "@interledger/open-payments";
Copied! Initialize Open Payments client
const client = await createAuthenticatedClient({
walletAddressUrl: WALLET_ADDRESS,
privateKey: PRIVATE_KEY_PATH,
keyId: KEY_ID,
});
Copied! Create outgoing payment
const outgoingPayment = await client.outgoingPayment.create(
{
url: new URL(WALLET_ADDRESS).origin,
accessToken: OUTGOING_PAYMENT_ACCESS_TOKEN,
},
{
walletAddress: WALLET_ADDRESS,
quoteId: QUOTE_URL,
},
);
Copied! Output
console.log("OUTGOING_PAYMENT_URL = ", outgoingPayment.id);
Copied! Run tsx path/to/directory/index.ts
.
Prerequisites
- Node 18 or higher
- A package manager such as NPM or PNPM
-
Open Payments SDK
Additional configuration
Add "type": "module"
to package.json
Get started
Import dependencies
import { createAuthenticatedClient } from "@interledger/open-payments";
Copied! Initialize Open Payments client
const client = await createAuthenticatedClient({
walletAddressUrl: WALLET_ADDRESS,
privateKey: PRIVATE_KEY_PATH,
keyId: KEY_ID,
});
Copied! Create outgoing payment
const outgoingPayment = await client.outgoingPayment.create(
{
url: new URL(WALLET_ADDRESS).origin,
accessToken: OUTGOING_PAYMENT_ACCESS_TOKEN,
},
{
walletAddress: WALLET_ADDRESS,
quoteId: QUOTE_URL,
},
);
Copied! Output
console.log("OUTGOING_PAYMENT_URL = ", outgoingPayment.id);
Copied! Run node path/to/directory/index.js
.