Direct API integration

If you want full control over the customer experience, you can integrate directly with the ekko API. This lets you calculate impact, create contributions, and manage reversals at any point in your journey.

Step-by-step flow

  1. Create a brand. Use POST /organisations/brand/onboarding to create a brand and receive a productId.

  2. Calculate impact. Use POST /impact_calculator with the transaction details. The response gives you:

    • carbonImpact.grams or .ounces(raw footprint)
    • carbonImpact.equivalents (real-world comparisons)
    • compensation.compensationValue (the suggested amount, includes service fee)
    • roundUp values for simple contribution flows
    • calcReference to track conversion from calculation to compensation/ contribution
  3. Make a contribution. Use POST /projects/funds with either:

    • the compensationValue from the calculator
    • or a custom contribution amount chosen by the customer. The response includes a reference you’ll use for reconciliation.
  4. Reverse a contribution. If a transaction is refunded or cancelled, call POST /reversal with the original reference. This creates a negative record linked back to the original contribution.

Best practices

  • Always store the productId and reference values for reconciliation
  • Display equivalents alongside raw carbon values to keep the data relatable
  • Use roundUp for frictionless customer contributions
  • Trigger reversals only after the underlying payment has been refunded
  • Check your records in POST /impact_records for a full ledger of contributions and reversals