Connect Stripe and Adyen
Connect a Stripe or Adyen platform to Coris so that processor events trigger onboarding checks and monitoring.
Connect once, and Coris receives processor events from then on. Adyen connects with help from Coris.
- You → Coris1Add Stripe key in the portal
- Coris → Stripe2Create platform and Connect webhook endpoints
- Stripe → Coris3Events for connected accounts
- Coris4Create accounts and run monitoring
- You → Coris5GET
/ accounts/ {account_id}/
Step 1: Connect Stripe
- Open Stripe Connect under integrations in the portal.
- Add a name and your Stripe key, a test key in the sandbox.
- Choose direct charges, destination charges, or both.
- Save. Coris creates two webhook endpoints in Stripe.
Step 2: Confirm an account arrives
Create or update a connected account at the processor, then read it.
export CORIS_BASE_URL="https://sandbox-api.coris.ai/api/v0_2"
export CORIS_API_KEY="YOUR_API_KEY"import requests
BASE_URL = "https://sandbox-api.coris.ai/api/v0_2"
HEADERS = {"Authorization": "Token YOUR_API_KEY"}const BASE_URL = "https://sandbox-api.coris.ai/api/v0_2";
const HEADERS = {
Authorization: "Token YOUR_API_KEY",
"Content-Type": "application/json",
};The Stripe account ID is the reference_id. Without a connected account, this call returns a plain-text 404.
# Replace acct_1AcmeExample with your connected account's ID.
http_status=$(curl -s -o /tmp/coris_body -w '%{http_code}' \
"$CORIS_BASE_URL/accounts/acct_1AcmeExample/" \
-H "Authorization: Token $CORIS_API_KEY")
if [ "$http_status" = "200" ]; then
jq '{id, reference_id, source}' /tmp/coris_body
else
echo "HTTP $http_status: $(cat /tmp/coris_body)"
fi# Replace acct_1AcmeExample with your connected account's ID.
response = requests.get(f"{BASE_URL}/accounts/acct_1AcmeExample/", headers=HEADERS)
if response.status_code == 200:
print(response.json())
else:
print(response.status_code, response.text)// Replace acct_1AcmeExample with your connected account's ID.
const connected = await fetch(`${BASE_URL}/accounts/acct_1AcmeExample/`, { headers: HEADERS });
if (connected.status === 200) {
console.log(await connected.json());
} else {
console.log(connected.status, await connected.text());
}Try GET /accounts/{account_id}/ in the API explorer.
On a 200, confirm that source reads stripe. Use id or the Stripe account ID in later calls.
Connect Adyen
Ask Coris to connect Adyen, and provide Adyen API credentials and an HMAC key. Coris gives you a webhook URL for your Adyen setup. Send account holder, balance account, transfer and payment notification events to it.
Adyen access lists each event and credential.
To confirm, run step 2 with the account holder ID. source reads adyen.
What to do next
| Result | Action |
|---|---|
200 | Register a webhook. See Receive webhooks. |
404 | The account may not be ready to onboard. Check that it accepted terms and has business details. |
FAQ
Do existing connected accounts appear?
Coris receives events from the moment you connect. For older accounts, ask about a backfill.
Can I connect more than one Stripe platform?
Add one key per platform, each with a unique name.
What happens if I delete a key?
Monitoring from that key stops with no error. Coris acknowledges any events that still arrive, and does not process them. The key and both endpoints stay in Stripe, so delete them there too.
Which Stripe events and permissions does Coris need?
Both endpoints subscribe to a fixed list of events. Stripe access describes them, with the permissions a restricted key needs.
What if I have no portal access?
Next: What is the Coris API
Updated about 23 hours ago