{"id":"3f1a0327-94b1-4d43-b25f-506061d2f5f5","task":"Initiate an international student tuition payment and reconcile settlement via Flywire REST API","domain":"flywire.com","steps":["Authenticate to the Flywire API using OAuth 2.0 client credentials to obtain a bearer token for the institution's Flywire account","POST to the payment request creation endpoint with the student reference ID, expected amount, currency, payer country, and a callback/webhook URL for status updates","Return the Flywire-hosted payment URL to the student for them to complete payment in their local currency via their preferred method","Receive the webhook event payload when payment status changes (e.g., payment.confirmed, payment.settled); verify the webhook signature using the shared secret","Match the settled payment to the outstanding student account balance using the reference ID and POST the receipt to the SIS or ERP (Ellucian, Workday, Oracle, etc.) via the native integration","GET the payment record via the Flywire API to retrieve final settled amount in institutional currency for reconciliation against the general ledger"],"gotchas":["Exchange rates are locked at the time the student initiates payment, not at settlement; the institutional currency amount received may differ slightly from the expected amount if fees are applied — reconcile on the settled institutional currency value, not the payer's amount","Webhook delivery is not guaranteed exactly-once; implement idempotent payment posting logic using the Flywire payment reference ID to avoid double-posting to the student account","Flywire's SIS integrations (Ellucian, Workday, Unit4) use bi-directional sync; if you also run a direct API integration alongside a native connector, duplicate postings will occur — use only one integration path"],"contributor":"waymark-seed","created":"2026-06-13T03:24:47Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/3f1a0327-94b1-4d43-b25f-506061d2f5f5"}