From 422874200609352e988029491006772545355396 Mon Sep 17 00:00:00 2001 From: Mercy Oyelude Date: Tue, 29 Jul 2025 12:33:49 +0100 Subject: [PATCH 1/6] docs: create submission files --- submissions/images/authorize.png | Bin 0 -> 6740 bytes submissions/images/ilp-browser.png | Bin 0 -> 14262 bytes submissions/images/server-dropdown-prod.png | Bin 0 -> 27684 bytes .../images/server-dropdown-sandbox.png | Bin 0 -> 43981 bytes submissions/setup.md | 164 ++++++++++++++++++ submissions/tutorial.md | 0 submissions/use-case.md | 117 +++++++++++++ 7 files changed, 281 insertions(+) create mode 100644 submissions/images/authorize.png create mode 100644 submissions/images/ilp-browser.png create mode 100644 submissions/images/server-dropdown-prod.png create mode 100644 submissions/images/server-dropdown-sandbox.png create mode 100644 submissions/setup.md create mode 100644 submissions/tutorial.md create mode 100644 submissions/use-case.md diff --git a/submissions/images/authorize.png b/submissions/images/authorize.png new file mode 100644 index 0000000000000000000000000000000000000000..696ad83b44b5baa862f1efc3bc2dcab70a96680a GIT binary patch literal 6740 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 Yxu=w!C(q=7FF|}3mu)UpT=2g4pXNHVMgRZ+ literal 0 HcmV?d00001 diff --git a/submissions/images/ilp-browser.png b/submissions/images/ilp-browser.png new file mode 100644 index 0000000000000000000000000000000000000000..358f58e43a1fc432e662557f6308ab1488cb9787 GIT binary patch literal 14262 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 literal 0 HcmV?d00001 diff --git a/submissions/images/server-dropdown-prod.png b/submissions/images/server-dropdown-prod.png new file mode 100644 index 0000000000000000000000000000000000000000..c502634b99a74dc91d5a7daa3fb691d9bf5a37c5 GIT binary patch literal 27684 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 Endpoint: `/payouts/interledger-wallet-address` + +Before you jump into integrating Chimoneys payout API, here is a quick walkthrough to get everything set up and ready to roll. + +--- + +## 🧰 Prerequisites + +Before diving in, make sure you have the following: + +- 🔐 **Chimoney Developer Account** + Create one here: [chimoney.io/developers-api](https://chimoney.io/developers-api) + + Account is funded with $1000(10000 Chimoney) of test amount. + +- 🔑 **API Key** + Grab it from your dashboard. Need help? [Watch this video](https://www.loom.com/share/436303eb69c44f0d9757ea0c655bed89?sid=b6a0f661-721c-4731-9873-ae6f2d25780) + +- 💳 **Interledger Wallet Address** + Found on your dashboard after login. It will look something like: + `https://ilp-sandbox.chimoney.com/your-unique-id` + _(You do not need to memorize it.)_ + +- 🧪 **API Testing Tools** + Use any of the following: + - Postman + - Curl + - Your favorite HTTP client (e.g. Axios, Fetch) + +- 🧠 **Basic Knowledge of REST APIs** + You will be working with `POST` requests and JSON payloads. + +--- + +## 🚀 Test the Endpoint in the API Explorer + +Let us make a test call using Chimoney’s Swagger (API explorer): + +1. Go to [Chimoney’s API Explorer](https://api.chimoney.io/v0.2.4/api-docs/#/Payouts/post_v0_2_4_payouts_interledger_wallet_address) +2. Switch to `sandbox mode` (top-left dropdown) + + + + +![Sandbox dropdown](./images/server-dropdown-sandbox.png) + +3. Click **Authorize** and paste your API key +4. [Jump](https://api.chimoney.io/v0.2.4/api-docs/#/Payouts/post_v0_2_4_payouts_interledger_wallet_address) to `POST /payouts/interledger-wallet-address` +5. Replace the `interledgerWalletAddress` field with your own ILP address +6. Hit **Execute** + +Boom — your first test payout should go through if all is set up correctly ✅ + +--- + +## 🛠 Common Errors and How to Fix Them + +### ❌ Error: `CAD is not enabled for the interledger Wallet Address` +```json +{ + "status": "error", + "message": "CAD is not enabled for the interledger Wallet Address (Payment Pointer), https://ilp-sandbox.chimoney.com/********" +} +``` + + +### 💡 Why it happens: +Your ILP wallet only supports USD (not CAD). + +### ✅ Fix: Change both currency fields to USD: +```json +"currency": "USD", +"debitCurrency": "USD" +``` + +🕵️‍♀️ Pro tip: Open your ILP wallet address in a browser to confirm supported assets. + + +![ILP assets](./images/ilp-browser.png) + +### ❌ Error: `sender must be a valid Chimoney user ID` + +### 💡 Why it happens: +You have either included an invalid subAccount or do not need one. + +### ✅ Fix: + +- Don’t have a subAccount? Just remove the field. + +- Or go to your dashboard → Transactions tab → copy your user ID. + +--- + +## Other API Responses +Once your request goes through, here’s what you might see: + +### ✅ 200 OK – Success +```json +{ + "status": "success", + "message": "Chimoney payout to Interledger wallet completed successfully", + "data": { + "paymentLink": "https://sandbox.chimoney.io/pay/?issueID=...", + "chimoneys": [ + { + "interledgerWalletAddress": "https://ilp-sandbox.chimoney.com/your-id", + "amount": 200, + "currency": "USD", + "chiRef": "some-unique-id" + } + ], + "redeemLink": "https://sandbox.chimoney.io/redeem/?chi=..." + } +} +``` +Use the `paymentLink` or `redeemLink` to simulate or test payouts end-to-end. + + +### ⚠️ 400 / 401 / 403 – Invalid or Unauthorized Request + +```json +{ + "status": "error", + "error": "sender must be a valid Chimoney user ID" +} +Or: +{ + "status": "error", + "message": "Unauthorized – API key missing or invalid" +} +``` + +Refer to the **Common Errors** section above to resolve these. + +### 💥 500 – Internal Server Error +```json +{ + "status": "error", + "type": "InternalError", + "code": "SERVER_ERROR", + "message": "Something went wrong" +} +``` +If this happens, double-check your payload format or retry later. + +--- + +## Wrapping Up +That is it! At this point, you should be able to: + +- Authenticate using your API key + +- Locate and use your ILP wallet address + +- Make a test payout request via the API Explorer + +- Troubleshoot common errors like currency mismatch or sender ID issues + +### 🎯 Next Step: Integrate the API in your project + +Now that you are all set up, let us write some code and make payouts from your app. + +**Happy building!** 🙌 \ No newline at end of file diff --git a/submissions/tutorial.md b/submissions/tutorial.md new file mode 100644 index 0000000..e69de29 diff --git a/submissions/use-case.md b/submissions/use-case.md new file mode 100644 index 0000000..431c716 --- /dev/null +++ b/submissions/use-case.md @@ -0,0 +1,117 @@ +# 💸 Use Case: Paying Freelancers via Chimoney’s Interledger Wallet Address + +**Goal:** Seamlessly send USD payouts to freelancers or remote workers using Chimoney’s `/payouts/interledger-wallet-address` API. + +--- + +## 📘 Scenario + +You run a global platform that pays freelancers for their services. Rather than managing complex banking setups for each country, you want to send fast, secure payments directly to Interledger-enabled wallets using Chimoney. + +--- + +## 🚀 Why This Use Case? + +- 🌎 Pay workers across borders without worrying about banking differences +- ⚡ Instant value transfer via Interledger Protocol (ILP) +- 💵 Support multiple currencies like USD +- 📱 Easy integration into your existing backend or platform + +--- + +## 🔄 Flow Overview + +### 🪜 Flow - Step-by-Step + +1. ✅ **Task Completed:** A freelancer completes a gig on your platform. +2. 🧮 **Payout Calculated:** Your backend calculates how much to send. +3. 🛰 **API Call Sent:** Your app sends a `POST` request to the `/payouts/interledger-wallet-address` endpoint with: + - Their ILP address + - Amount in USD + - Narration +4. 💸 **Chimoney Handles Transfer:** Chimoney routes and completes the payout to the ILP wallet. +5. 📬 **Notification (Optional):** You can trigger an email or in-app notification to the freelancer. + +--- + +## 🧰 Prerequisites + +- ✅ Chimoney Developer Account ([Create one](https://sandbox.chimoney.io/)) +- 🔑 API Key (Grab from dashboard) +- 🌐 Valid Interledger Wallet Address (`https://ilp-sandbox.chimoney.com/`) +- 🛠 Postman, Curl, or your preferred HTTP client + +--- + +## 📤 Sending the Payout + +Here’s a real request example using the `/payouts/interledger-wallet-address` endpoint: + +```json +POST /v0.2.4/payouts/interledger-wallet-address +Host: api-v2-sandbox.chimoney.io + +Headers: + Authorization: Bearer YOUR_API_KEY + +Body: +{ + "turnOffNotification": false, + "debitCurrency": "USD", + "interledgerWallets": [ + { + "interledgerWalletAddress": "https://ilp-sandbox.chimoney.com/your-id", + "currency": "USD", + "amountToDeliver": 10, + "narration": "July freelance payout", + "collectionPaymentIssueID": "job-001" + } + ] +} +``` + +✅ Success Response + +```json +{ + "status": "success", + "message": "Chimoney payout to Interledger wallet completed successfully", + "data": { + "paymentLink": "https://sandbox.chimoney.io/pay/?issueID=...", + ... + } +} +``` + +--- + +## ❗ Common Errors + +### 🛑 CAD is not enabled + +```json +{ + "status": "error", + "message": "CAD is not enabled for the interledger Wallet Address..." +} +``` + +**Fix:** Use "USD" for both currency and debitCurrency + +### 🛑 Invalid Chimoney User ID +```json +{ + "error": "sender must be a valid Chimoney user ID" +} +``` +**Fix:** Remove or correct the subAccount field. + +--- + +## 💡 Wrap-Up +With just a few lines of code, you can automate freelancer payouts globally. Chimoney + Interledger makes cross-border payments smooth, developer-friendly, and scalable. + +--- + +## Next Step: +🎯 Integrate this API flow into your backend and trigger payouts after job completion! \ No newline at end of file From 4bab965129f5574d1c5b756c166ff732f75a772b Mon Sep 17 00:00:00 2001 From: Mercy Oyelude Date: Tue, 29 Jul 2025 12:36:25 +0100 Subject: [PATCH 2/6] docs: create submission files --- .../{ => payout-mercyoyelude2}/images/authorize.png | Bin .../images/ilp-browser.png | Bin .../images/server-dropdown-prod.png | Bin .../images/server-dropdown-sandbox.png | Bin submissions/{ => payout-mercyoyelude2}/setup.md | 0 submissions/{ => payout-mercyoyelude2}/tutorial.md | 0 submissions/{ => payout-mercyoyelude2}/use-case.md | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename submissions/{ => payout-mercyoyelude2}/images/authorize.png (100%) rename submissions/{ => payout-mercyoyelude2}/images/ilp-browser.png (100%) rename submissions/{ => payout-mercyoyelude2}/images/server-dropdown-prod.png (100%) rename submissions/{ => payout-mercyoyelude2}/images/server-dropdown-sandbox.png (100%) rename submissions/{ => payout-mercyoyelude2}/setup.md (100%) rename submissions/{ => payout-mercyoyelude2}/tutorial.md (100%) rename submissions/{ => payout-mercyoyelude2}/use-case.md (100%) diff --git a/submissions/images/authorize.png b/submissions/payout-mercyoyelude2/images/authorize.png similarity index 100% rename from submissions/images/authorize.png rename to submissions/payout-mercyoyelude2/images/authorize.png diff --git a/submissions/images/ilp-browser.png b/submissions/payout-mercyoyelude2/images/ilp-browser.png similarity index 100% rename from submissions/images/ilp-browser.png rename to submissions/payout-mercyoyelude2/images/ilp-browser.png diff --git a/submissions/images/server-dropdown-prod.png b/submissions/payout-mercyoyelude2/images/server-dropdown-prod.png similarity index 100% rename from submissions/images/server-dropdown-prod.png rename to submissions/payout-mercyoyelude2/images/server-dropdown-prod.png diff --git a/submissions/images/server-dropdown-sandbox.png b/submissions/payout-mercyoyelude2/images/server-dropdown-sandbox.png similarity index 100% rename from submissions/images/server-dropdown-sandbox.png rename to submissions/payout-mercyoyelude2/images/server-dropdown-sandbox.png diff --git a/submissions/setup.md b/submissions/payout-mercyoyelude2/setup.md similarity index 100% rename from submissions/setup.md rename to submissions/payout-mercyoyelude2/setup.md diff --git a/submissions/tutorial.md b/submissions/payout-mercyoyelude2/tutorial.md similarity index 100% rename from submissions/tutorial.md rename to submissions/payout-mercyoyelude2/tutorial.md diff --git a/submissions/use-case.md b/submissions/payout-mercyoyelude2/use-case.md similarity index 100% rename from submissions/use-case.md rename to submissions/payout-mercyoyelude2/use-case.md From df2f3a31241c3d8470b18f913c8d4320551a8570 Mon Sep 17 00:00:00 2001 From: Mercy Oyelude Date: Wed, 30 Jul 2025 15:36:29 +0100 Subject: [PATCH 3/6] update: final submission --- .../images/flow-diagram.png | Bin 0 -> 34781 bytes .../images/server-dropdown-prod.png | Bin 27684 -> 0 bytes submissions/payout-mercyoyelude2/setup.md | 24 +- submissions/payout-mercyoyelude2/tutorial.md | 218 ++++++++++++++++++ submissions/payout-mercyoyelude2/use-case.md | 41 ++-- 5 files changed, 259 insertions(+), 24 deletions(-) create mode 100644 submissions/payout-mercyoyelude2/images/flow-diagram.png delete mode 100644 submissions/payout-mercyoyelude2/images/server-dropdown-prod.png diff --git a/submissions/payout-mercyoyelude2/images/flow-diagram.png b/submissions/payout-mercyoyelude2/images/flow-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..43d4e75371d60497eae2edb0329b89cd1bf3643a GIT binary patch literal 34781 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 C&(CH6 literal 0 HcmV?d00001 diff --git a/submissions/payout-mercyoyelude2/images/server-dropdown-prod.png b/submissions/payout-mercyoyelude2/images/server-dropdown-prod.png deleted file mode 100644 index c502634b99a74dc91d5a7daa3fb691d9bf5a37c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27684 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 - - ![Sandbox dropdown](./images/server-dropdown-sandbox.png) 3. Click **Authorize** and paste your API key 4. [Jump](https://api.chimoney.io/v0.2.4/api-docs/#/Payouts/post_v0_2_4_payouts_interledger_wallet_address) to `POST /payouts/interledger-wallet-address` 5. Replace the `interledgerWalletAddress` field with your own ILP address -6. Hit **Execute** +6. Hit **Execute**! Boom — your first test payout should go through if all is set up correctly ✅ @@ -57,6 +53,7 @@ Boom — your first test payout should go through if all is set up correctly ✅ ## 🛠 Common Errors and How to Fix Them ### ❌ Error: `CAD is not enabled for the interledger Wallet Address` + ```json { "status": "error", @@ -64,7 +61,6 @@ Boom — your first test payout should go through if all is set up correctly ✅ } ``` - ### 💡 Why it happens: Your ILP wallet only supports USD (not CAD). @@ -74,7 +70,7 @@ Your ILP wallet only supports USD (not CAD). "debitCurrency": "USD" ``` -🕵️‍♀️ Pro tip: Open your ILP wallet address in a browser to confirm supported assets. +**🕵️‍♀️ Pro tip:** Open your ILP wallet address in a browser to confirm supported assets. ![ILP assets](./images/ilp-browser.png) @@ -93,7 +89,7 @@ You have either included an invalid subAccount or do not need one. --- ## Other API Responses -Once your request goes through, here’s what you might see: +If everything checks out, you should see a success response like this: ### ✅ 200 OK – Success ```json @@ -124,7 +120,11 @@ Use the `paymentLink` or `redeemLink` to simulate or test payouts end-to-end. "status": "error", "error": "sender must be a valid Chimoney user ID" } +``` + Or: + +```json { "status": "error", "message": "Unauthorized – API key missing or invalid" @@ -149,6 +149,8 @@ If this happens, double-check your payload format or retry later. ## Wrapping Up That is it! At this point, you should be able to: +- Create a Chimoney developer account and generate an API key + - Authenticate using your API key - Locate and use your ILP wallet address @@ -159,6 +161,6 @@ That is it! At this point, you should be able to: ### 🎯 Next Step: Integrate the API in your project -Now that you are all set up, let us write some code and make payouts from your app. +Now that you are all set up, let us write some code and make payouts from your app using this [tutorial guide](./tutorial.md). **Happy building!** 🙌 \ No newline at end of file diff --git a/submissions/payout-mercyoyelude2/tutorial.md b/submissions/payout-mercyoyelude2/tutorial.md index e69de29..65d4f6c 100644 --- a/submissions/payout-mercyoyelude2/tutorial.md +++ b/submissions/payout-mercyoyelude2/tutorial.md @@ -0,0 +1,218 @@ +# How to Make Payouts to Interledger Wallets Using Chimoney’s API + +In this tutorial, you will learn how to integrate Chimoney’s `/payouts/interledger-wallet-address` endpoint into your existing project and send live payouts using your wallet-enabled Chimoney account. + +--- + +## 🔧 What You’ll Build + +- Configure your environment +- Build a payout service with Chimoney’s API +- Handle real-world errors (like currency mismatches) +- Test your first ILP payout + +--- + +## 🧰 Prerequisites + +Before you start, make sure you have completed the [Setup Guide](./setup.md). You should already have: +- A Chimoney developer account +- Your API key +- Your ILP wallet address +- Tested the `payouts to interledger wallet address` endpoint + +Additionally; +- Basic knowledge on RESTful APIs +- Node.js and npm/yarn installed +- Axios for HTTP requests + +With that out of the way, let us dive in. + +--- + +## 🗂 Project Structure + +Here’s what your folder might look like: + +```bash +chimoney-payouts/ +├── .env +├── src/ +│ ├── config.js +│ ├── services/ +│ │ └── chimoneyService.js +│ └── index.js +├── package.json +└── README.md +``` + +## 🗂 Step 1: 🔧 Configuration & Setup + +### Install Dependencies + +```bash +mkdir chimoney-payouts && cd chimoney-payouts +npm init -y +npm install axios dotenv +``` + +### Environment Variables + +Create `.env`: + +```js +CHIMONEY_API_KEY=your_api_key_here +CHIMONEY_ENV=sandbox # or "production" + +ILP_WALLET_ADDRESS=https://ilp-sandbox.chimoney.com/your-id +``` + +--- + +### Configuration Module (`config.js`) + +```js +import dotenv from "dotenv"; +dotenv.config(); + +export const config = { + apiKey: process.env.CHIMONEY_API_KEY, + baseUrl: + process.env.CHIMONEY_ENV === "production" + ? "https://api-v2.chimoney.io/v0.2.4" + : "https://api-v2-sandbox.chimoney.io/v0.2.4", + headers: { + Accept: "application/json", + "Content-Type": "application/json", + "X-API-KEY": process.env.CHIMONEY_API_KEY, + }, +}; +``` + +--- + +## 🧾 Step 2: Build the Chimoney Interledger Service +### Create `chimoneyService.js`: + +```js +import axios from "axios"; +import { config } from "./config.js"; + +class ChimoneyService { + constructor() { + this.client = axios.create({ + baseURL: config.baseUrl, + headers: config.headers, + }); + } + + async sendInterledgerPayout({ walletAddress, amount, narration, collectionPaymentIssueID = "" }) { + try { + const payload = { + turnOffNotification: false, + debitCurrency: "USD", + interledgerWallets: [ + { + interledgerWalletAddress: walletAddress, + currency: "USD", + amountToDeliver: amount, + narration, + collectionPaymentIssueID, // optional but great for tracking payouts + }, + ], + }; + + const res = await this.client.post("/payouts/interledger-wallet-address", payload); + return res.data; + } catch (err) { + if (err.response) { + console.error("Chimoney API error:", err.response.data); + throw err.response.data; + } + throw err; + } + } +} + +export default ChimoneyService; +``` + +--- + +## ⚙️ Step 3: Usage Example (`index.js`) + +```js +import ChimoneyService from "./chimoneyService.js"; +import dotenv from "dotenv"; +dotenv.config(); + +(async () => { + const service = new ChimoneyService(); + + const walletAddress = process.env.ILP_WALLET_ADDRESS; // e.g., https://ilp-sandbox.chimoney.com/your-id + const amount = 10; // USD + const narration = "Freelance payout for job #123"; + const collectionPaymentIssueID = "job-123-issue"; + + try { + const result = await service.sendInterledgerPayout({ + walletAddress, + amount, + narration, + collectionPaymentIssueID, + }); + console.log("✅ Payout Success:", result); + } catch (error) { + const res = error.response; + console.error("❌ Payout Failed:", { + status: res?.status, + message: res?.data?.message || res?.data?.error || error.message + }); + // handle error messages, e.g.: + // if errorData.message includes "CAD is not enabled" + // if errorData.error includes "valid Chimoney user ID" + } +})(); +``` + +### 🧪 Notes & Error Handling +#### Response Object Includes: +- status, message +- data.paymentLink / data.redeemLink +- data.chimoneys or data.payouts with chiRef, issueID, etc. + + +### ⚠️ Common Errors +Here are a couple of issues you might hit (and how to fix them): + +#### 1. ❌ "CAD is not enabled" +**Fix:** Change **currency** to "USD" + +#### 2. ❌ "sender must be a valid Chimoney user ID" +**Fix:** Invalid **subAccount**, (remove the field if unused, or request for one through support). + + +**Wrap error handler to inspect `errorData.message` or `.error` and act accordingly.** + +--- + +## 🔄 How It Works (Behind the Scenes) + +1. 🧾 You make a `POST` request to the `/payouts/interledger-wallet-address` endpoint +2. 🔐 Chimoney authenticates your API key +3. 💳 Chimoney deducts the amount from your wallet +4. 🌐 The ILP wallet address receives the payout (in supported currency) +5. 📦 A response is returned with `chiRef`, status, and optionally a `paymentLink` + +--- + +## 🎉 You Did It +You just: + +- Set up your environment +- Made a successful payout to an Interledger wallet +- Learned how to handle and debug errors + + +_🔗 Next up: Extend this into a backend job or admin panel!_ + diff --git a/submissions/payout-mercyoyelude2/use-case.md b/submissions/payout-mercyoyelude2/use-case.md index 431c716..6f4d555 100644 --- a/submissions/payout-mercyoyelude2/use-case.md +++ b/submissions/payout-mercyoyelude2/use-case.md @@ -1,18 +1,15 @@ -# 💸 Use Case: Paying Freelancers via Chimoney’s Interledger Wallet Address - -**Goal:** Seamlessly send USD payouts to freelancers or remote workers using Chimoney’s `/payouts/interledger-wallet-address` API. - +# Global Payment via Chimoney’s Interledger Wallet Address --- ## 📘 Scenario -You run a global platform that pays freelancers for their services. Rather than managing complex banking setups for each country, you want to send fast, secure payments directly to Interledger-enabled wallets using Chimoney. +You are running a global hackathon, write-a-thon that will be rewarding participants across borders. Rather than managing complex banking setups for each country, you want to send fast, secure payments directly to Interledger-enabled wallets using Chimoney. --- ## 🚀 Why This Use Case? -- 🌎 Pay workers across borders without worrying about banking differences +- 🌎 Pay participants across borders without worrying about banking differences - ⚡ Instant value transfer via Interledger Protocol (ILP) - 💵 Support multiple currencies like USD - 📱 Easy integration into your existing backend or platform @@ -23,7 +20,7 @@ You run a global platform that pays freelancers for their services. Rather than ### 🪜 Flow - Step-by-Step -1. ✅ **Task Completed:** A freelancer completes a gig on your platform. +1. ✅ **Winners Announced:** Hackathon winners are announced. 2. 🧮 **Payout Calculated:** Your backend calculates how much to send. 3. 🛰 **API Call Sent:** Your app sends a `POST` request to the `/payouts/interledger-wallet-address` endpoint with: - Their ILP address @@ -32,6 +29,9 @@ You run a global platform that pays freelancers for their services. Rather than 4. 💸 **Chimoney Handles Transfer:** Chimoney routes and completes the payout to the ILP wallet. 5. 📬 **Notification (Optional):** You can trigger an email or in-app notification to the freelancer. +### 📊 Flow Diagram + +![ILP Payout Flow](./images//flow-diagram.png) --- ## 🧰 Prerequisites @@ -52,7 +52,7 @@ POST /v0.2.4/payouts/interledger-wallet-address Host: api-v2-sandbox.chimoney.io Headers: - Authorization: Bearer YOUR_API_KEY + X-API-KEY: Bearer YOUR_API_KEY Body: { @@ -63,8 +63,8 @@ Body: "interledgerWalletAddress": "https://ilp-sandbox.chimoney.com/your-id", "currency": "USD", "amountToDeliver": 10, - "narration": "July freelance payout", - "collectionPaymentIssueID": "job-001" + "narration": "Congratulations on emerging hackathon winner!", + "collectionPaymentIssueID": "hackathon-001" } ] } @@ -108,10 +108,25 @@ Body: --- -## 💡 Wrap-Up -With just a few lines of code, you can automate freelancer payouts globally. Chimoney + Interledger makes cross-border payments smooth, developer-friendly, and scalable. +## 💡 Wrap-up +Not limited to one-time payments, with just a few lines of code, you can automate freelancer/employees payouts globally. Chimoney + Interledger makes cross-border payments smooth, developer-friendly, and scalable. + +### ✨ Real-World Extensions +Here are more ways to apply this payout flow: + +- #### Open-source contributor rewards +Automate thank-you payouts for contributors using their ILP wallet address (e.g. via GitHub Actions or Discord bots). + +- #### Content creation platforms +Pay writers, creators, or community moderators directly based on engagement or content milestones. + +- #### Job boards or marketplaces +Trigger seamless payouts to service providers upon completion of gigs or tasks. + +- #### Hackathons and community events +Send rewards at scale without dealing with traditional banking headaches. --- ## Next Step: -🎯 Integrate this API flow into your backend and trigger payouts after job completion! \ No newline at end of file +🎯 Integrate this API flow into your backend and trigger payouts with this [tutorial](./tutorial.md)! \ No newline at end of file From 4f54672f16b0ca4d01e02dd19235e26833fe60f2 Mon Sep 17 00:00:00 2001 From: Mercy Oyelude <39373457+Mercy-Iyanu@users.noreply.github.com> Date: Wed, 20 Aug 2025 16:27:13 +0100 Subject: [PATCH 4/6] Update tutorial.md --- submissions/payout-mercyoyelude2/tutorial.md | 65 +++++++++----------- 1 file changed, 30 insertions(+), 35 deletions(-) diff --git a/submissions/payout-mercyoyelude2/tutorial.md b/submissions/payout-mercyoyelude2/tutorial.md index 65d4f6c..c201dee 100644 --- a/submissions/payout-mercyoyelude2/tutorial.md +++ b/submissions/payout-mercyoyelude2/tutorial.md @@ -4,7 +4,7 @@ In this tutorial, you will learn how to integrate Chimoney’s `/payouts/interle --- -## 🔧 What You’ll Build +## What You’ll Build - Configure your environment - Build a payout service with Chimoney’s API @@ -13,7 +13,7 @@ In this tutorial, you will learn how to integrate Chimoney’s `/payouts/interle --- -## 🧰 Prerequisites +## Prerequisites Before you start, make sure you have completed the [Setup Guide](./setup.md). You should already have: - A Chimoney developer account @@ -22,7 +22,7 @@ Before you start, make sure you have completed the [Setup Guide](./setup.md). Yo - Tested the `payouts to interledger wallet address` endpoint Additionally; -- Basic knowledge on RESTful APIs +- Basic knowledge of RESTful APIs - Node.js and npm/yarn installed - Axios for HTTP requests @@ -30,7 +30,7 @@ With that out of the way, let us dive in. --- -## 🗂 Project Structure +## Project Structure Here’s what your folder might look like: @@ -46,7 +46,7 @@ chimoney-payouts/ └── README.md ``` -## 🗂 Step 1: 🔧 Configuration & Setup +## Step 1: Configuration & Setup ### Install Dependencies @@ -91,7 +91,9 @@ export const config = { --- -## 🧾 Step 2: Build the Chimoney Interledger Service +## Step 2: Build the Chimoney Interledger Service +Now that your configuration is set up, it’s time to write the code that will send a payout to an Interledger wallet using Chimoney’s API. Let’s start by creating a reusable service class. + ### Create `chimoneyService.js`: ```js @@ -139,7 +141,7 @@ export default ChimoneyService; --- -## ⚙️ Step 3: Usage Example (`index.js`) +## Step 3: Usage Example (`index.js`) ```js import ChimoneyService from "./chimoneyService.js"; @@ -161,58 +163,51 @@ dotenv.config(); narration, collectionPaymentIssueID, }); - console.log("✅ Payout Success:", result); + console.log("Payout Success:", result); } catch (error) { const res = error.response; - console.error("❌ Payout Failed:", { + console.error("Payout Failed:", { status: res?.status, message: res?.data?.message || res?.data?.error || error.message }); // handle error messages, e.g.: - // if errorData.message includes "CAD is not enabled" + // if errorData.message includes "CAD is not enabled." // if errorData.error includes "valid Chimoney user ID" } })(); ``` +--- -### 🧪 Notes & Error Handling -#### Response Object Includes: -- status, message -- data.paymentLink / data.redeemLink -- data.chimoneys or data.payouts with chiRef, issueID, etc. - +## How It Works (Behind the Scenes) -### ⚠️ Common Errors -Here are a couple of issues you might hit (and how to fix them): +1. You make a `POST` request to the `/payouts/interledger-wallet-address` endpoint +2. Chimoney authenticates your API key +3. Chimoney deducts the amount from your wallet +4. The ILP wallet address receives the payout (in supported currency) +5. A response is returned with `chiRef`, status, and optionally a `paymentLink` -#### 1. ❌ "CAD is not enabled" -**Fix:** Change **currency** to "USD" +--- -#### 2. ❌ "sender must be a valid Chimoney user ID" -**Fix:** Invalid **subAccount**, (remove the field if unused, or request for one through support). +## Handling Errors & Troubleshooting +Chimoney’s API may return various errors depending on your inputs or environment. Below are common issues and how to resolve them: +### 1. "CAD is not enabled" +**Fix:** Change **currency** to "USD" -**Wrap error handler to inspect `errorData.message` or `.error` and act accordingly.** +### 2. "sender must be a valid Chimoney user ID" +**Fix:** Invalid **subAccount**, (remove the field if unused, or request one through support). --- -## 🔄 How It Works (Behind the Scenes) +## You Did It -1. 🧾 You make a `POST` request to the `/payouts/interledger-wallet-address` endpoint -2. 🔐 Chimoney authenticates your API key -3. 💳 Chimoney deducts the amount from your wallet -4. 🌐 The ILP wallet address receives the payout (in supported currency) -5. 📦 A response is returned with `chiRef`, status, and optionally a `paymentLink` - ---- - -## 🎉 You Did It You just: - - Set up your environment - Made a successful payout to an Interledger wallet - Learned how to handle and debug errors -_🔗 Next up: Extend this into a backend job or admin panel!_ +That’s it for the setup! + +_Next up: Extend this into a backend job or admin panel!_ From 213322d7d85d70e71fd1125cb348a6c8d5aa203f Mon Sep 17 00:00:00 2001 From: Mercy Oyelude <39373457+Mercy-Iyanu@users.noreply.github.com> Date: Thu, 21 Aug 2025 08:49:46 +0100 Subject: [PATCH 5/6] Update setup.md --- submissions/payout-mercyoyelude2/setup.md | 29 +++++++++++++---------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/submissions/payout-mercyoyelude2/setup.md b/submissions/payout-mercyoyelude2/setup.md index 6719116..3003415 100644 --- a/submissions/payout-mercyoyelude2/setup.md +++ b/submissions/payout-mercyoyelude2/setup.md @@ -1,7 +1,7 @@ # How to Use Chimoney’s Interledger Wallet Address Payout Endpoint > Endpoint: `/payouts/interledger-wallet-address` -Before you jump into integrating Chimoneys payout API, here is a quick walkthrough to get everything set up and ready to roll. +In this tutorial, we’ll walk through how to integrate Chimoney's API to send payouts to an Interledger Wallet Address. This will allow you to make cross-border payments using a digital wallet. By the end, you'll know how to test the endpoint, troubleshoot common errors, and integrate it into your app. --- @@ -12,7 +12,7 @@ Before diving in, make sure you have the following: - 🔐 **Chimoney Developer Account** Create one here: [chimoney.io/developers-api](https://chimoney.io/developers-api) - Account is funded with $1000(10000 Chimoney) of test amount. + Your sandbox account comes preloaded with $1000 (10,000 Chimoney) for testing purposes. - 🔑 **API Key** Grab it from your dashboard. Need help? [Watch this video](https://www.loom.com/share/436303eb69c44f0d9757ea0c655bed89?sid=b6a0f661-721c-4731-9873-ae6f2d25780) @@ -22,9 +22,12 @@ Before diving in, make sure you have the following: `https://ilp-sandbox.chimoney.com/your-unique-id` - 🧪 **API Testing Tools (Optional)** - Use any of the following: - - Postman - - Curl + You can use the following tools to test the API: + - **Postman:** Import the collection [here]([link-to-collection](https://documenter.getpostman.com/view/26097715/2sA3kXCzD2#c311f506-2938-440b-abe9-dc232530a84f)) + - **cURL:** Example command: + ```bash + curl -X POST https://api.chimoney.io/v0.2.4/payouts/interledger-wallet-address -H "Authorization: Bearer " -d '{"amount": "100", "currency": "USD", ...}' + ``` - Your favorite HTTP client (e.g. Axios, Fetch) - 🧠 **Basic Knowledge of REST APIs** @@ -42,11 +45,13 @@ Let us make a test call using Chimoney’s Swagger (API explorer): ![Sandbox dropdown](./images/server-dropdown-sandbox.png) 3. Click **Authorize** and paste your API key -4. [Jump](https://api.chimoney.io/v0.2.4/api-docs/#/Payouts/post_v0_2_4_payouts_interledger_wallet_address) to `POST /payouts/interledger-wallet-address` -5. Replace the `interledgerWalletAddress` field with your own ILP address -6. Hit **Execute**! +This step authenticates your requests, letting the API know that you have permission to interact with the endpoint. -Boom — your first test payout should go through if all is set up correctly ✅ +5. [Click here](https://api.chimoney.io/v0.2.4/api-docs/#/Payouts/post_v0_2_4_payouts_interledger_wallet_address) to go directly to the `POST /payouts/interledger-wallet-address` section in the API Explorer. +6. Replace the `interledgerWalletAddress` field with your own ILP address +7. Hit **Execute**! + +Now, your first test payout should go through if everything is set up correctly! --- @@ -62,7 +67,7 @@ Boom — your first test payout should go through if all is set up correctly ✅ ``` ### 💡 Why it happens: -Your ILP wallet only supports USD (not CAD). +Some wallets are configured to only support certain currencies. For instance, if your ILP wallet is set up for USD, it won’t process requests in CAD due to system limitations or regulatory reasons. ### ✅ Fix: Change both currency fields to USD: ```json @@ -112,7 +117,7 @@ If everything checks out, you should see a success response like this: ``` Use the `paymentLink` or `redeemLink` to simulate or test payouts end-to-end. - +In addition to successful payouts, you may encounter a variety of other responses from the API. Below are some examples and how to troubleshoot them. ### ⚠️ 400 / 401 / 403 – Invalid or Unauthorized Request ```json @@ -163,4 +168,4 @@ That is it! At this point, you should be able to: Now that you are all set up, let us write some code and make payouts from your app using this [tutorial guide](./tutorial.md). -**Happy building!** 🙌 \ No newline at end of file +**Happy building!** 🙌 From 9ff98fde6b02c5ce469d600e7f44c4bf60ef35e6 Mon Sep 17 00:00:00 2001 From: Mercy Oyelude <39373457+Mercy-Iyanu@users.noreply.github.com> Date: Wed, 17 Sep 2025 17:09:12 +0100 Subject: [PATCH 6/6] Update tutorial.md - included more specific errors - added a brief paragraph to step 3 --- submissions/payout-mercyoyelude2/tutorial.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/submissions/payout-mercyoyelude2/tutorial.md b/submissions/payout-mercyoyelude2/tutorial.md index c201dee..7d9fd9d 100644 --- a/submissions/payout-mercyoyelude2/tutorial.md +++ b/submissions/payout-mercyoyelude2/tutorial.md @@ -32,7 +32,7 @@ With that out of the way, let us dive in. ## Project Structure -Here’s what your folder might look like: +Here is what your folder might look like: ```bash chimoney-payouts/ @@ -92,7 +92,7 @@ export const config = { --- ## Step 2: Build the Chimoney Interledger Service -Now that your configuration is set up, it’s time to write the code that will send a payout to an Interledger wallet using Chimoney’s API. Let’s start by creating a reusable service class. +Now that your configuration is set up, it is time to write the code that will send a payout to an Interledger wallet using Chimoney’s API. Let us start by creating a reusable service class. ### Create `chimoneyService.js`: @@ -142,6 +142,8 @@ export default ChimoneyService; --- ## Step 3: Usage Example (`index.js`) +In this step, you will see how to **bring everything together**. +We will import the Chimoney service, provide an Interledger wallet address, set an amount and narration, then trigger a payout. This example also shows how to capture success responses and gracefully handle errors. ```js import ChimoneyService from "./chimoneyService.js"; @@ -191,11 +193,13 @@ dotenv.config(); ## Handling Errors & Troubleshooting Chimoney’s API may return various errors depending on your inputs or environment. Below are common issues and how to resolve them: -### 1. "CAD is not enabled" -**Fix:** Change **currency** to "USD" - -### 2. "sender must be a valid Chimoney user ID" -**Fix:** Invalid **subAccount**, (remove the field if unused, or request one through support). +| **Code** | **Description** | **Example Message** | **How to Fix** | +|----------|-------------------|--------------------------------------------------------------------|--------------------------------------------------------------------------------| +| **200** | Success | `"Payout to Chimoney wallets completed successfully."` | No action needed. | +| **400** | Validation error | `"The request parameters are invalid."` | Double-check request body (wallet address format, required fields, etc.). | +| **401** | Unauthorized | `"API key is not defined. Generate a new one from the developer portal."` | Ensure your API key is set in `.env` and passed in headers. | +| **403** | Forbidden | `"API Access not enabled for account Test. Email support@chimoney.io"` | Contact Chimoney support to enable API access for your account. | +| **500** | Server error | `"An internal server error occurred."` | Retry after a short delay. If persistent, reach out to Chimoney support. | ---