<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/rethinking-payment-apis-at-merpay-the-exchange-abstraction-qa9c8pgcd" -->

---
title: Rethinking Payment APIs at Merpay: The Exchange Abstraction
description: Merpay&#x27;s Payment Platform team describes a new abstraction called Exchange to unify fragmented payment APIs. Instead of separate APIs for payments, top-ups,...
canonical: https://daily.dev/posts/rethinking-payment-apis-at-merpay-the-exchange-abstraction-qa9c8pgcd
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Rethinking Payment APIs at Merpay: The Exchange Abstraction | daily.dev
og:description: Merpay&#x27;s Payment Platform team describes a new abstraction called Exchange to unify fragmented payment APIs. Instead of separate APIs for payments, top-ups,...
og:url: https://daily.dev/posts/rethinking-payment-apis-at-merpay-the-exchange-abstraction-qa9c8pgcd
og:image: https://api.daily.dev/og/posts/QA9C8pgcD.png
og:image:alt: Rethinking Payment APIs at Merpay: The Exchange Abstraction
og:image:width: 1200
og:image:height: 630
og:locale: en
---

[Mercari Engineering](https://daily.dev/sources/mercari)

[Read post](https://api.daily.dev/r/QA9C8pgcD)

# [Rethinking Payment APIs at Merpay: The Exchange Abstraction](https://api.daily.dev/r/QA9C8pgcD "Go to post")

Merpay's Payment Platform team describes a new abstraction called Exchange to unify fragmented payment APIs. Instead of separate APIs for payments, top-ups, transfers, and partner settlements, Exchange models any fund movement as a source-to-destination operation with a two-phase Authorize/Capture lifecycle. The design introduces a Value concept to unify payment methods and destinations, passes accounting codes through the API to eliminate hardcoded accounting logic, and uses a Saga pattern for failure compensation in distributed transactions. Extension points (Hooks, Steps, Decisions) allow product teams to inject use-case-specific logic like KYC checks without polluting the core. The goal is to reduce coordination overhead, clarify API responsibilities, and enable faster onboarding of new payment use cases.

[#architecture](/tags/architecture "Check all #architecture posts")[#fintech](/tags/fintech "Check all #fintech posts")[#distributed-systems](/tags/distributed-systems "Check all #distributed-systems posts")

Aug 06•15m read time•From [engineering.mercari.com](https://api.daily.dev/r/QA9C8pgcD "engineering.mercari.com")

[![Post cover image](https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6be750b918272b96a3840a36647ae174?_a=AQAEuop)](https://api.daily.dev/r/QA9C8pgcD "Go to post")

Table of contents

[Background](https://api.daily.dev/r/QA9C8pgcD "Background")[Problems](https://api.daily.dev/r/QA9C8pgcD "Problems")[What is an Exchange?](https://api.daily.dev/r/QA9C8pgcD "What is an Exchange?")[Design Philosophy](https://api.daily.dev/r/QA9C8pgcD "Design Philosophy")[The Anatomy of an Exchange](https://api.daily.dev/r/QA9C8pgcD "The Anatomy of an Exchange")[The Value Concept](https://api.daily.dev/r/QA9C8pgcD "The Value Concept")[Practical Example](https://api.daily.dev/r/QA9C8pgcD "Practical Example")[Future Extensions](https://api.daily.dev/r/QA9C8pgcD "Future Extensions")[Conclusion](https://api.daily.dev/r/QA9C8pgcD "Conclusion")

321 Impressions

Comment

Bookmark

Copy

![Placeholder image for anonymous user](https://media.daily.dev/image/upload/s--qsFuKGv_--/t_logo,f_auto/public/noProfile)Share your thoughtsPost

[![Mercari Engineering's image](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cdde515cd83640748689d74c2d938fcf)](https://daily.dev/sources/mercari)

[Mercari Engineering](https://daily.dev/sources/mercari "https://daily.dev/sources/mercari")

Mercari's platform is a resource for developers and technology enthusiasts, offering insights into e... Read more

32 Followers

•

371 Upvotes

#### Would you recommend this post?

Copy link

WhatsApp

Facebook

X

New Squad

Copy linkShare with your friends

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Rethinking Payment APIs at Merpay: The Exchange Abstraction","url":"https://daily.dev/posts/rethinking-payment-apis-at-merpay-the-exchange-abstraction-qa9c8pgcd","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/rethinking-payment-apis-at-merpay-the-exchange-abstraction-qa9c8pgcd"},"datePublished":"2026-08-06T00:15:51.254Z","dateModified":"2026-08-06T00:37:58.634Z","description":"Merpay's Payment Platform team describes a new abstraction called Exchange to unify fragmented payment APIs. Instead of separate APIs for payments, top-ups,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6be750b918272b96a3840a36647ae174?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6be750b918272b96a3840a36647ae174?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Mercari Engineering","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Mercari Engineering","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cdde515cd83640748689d74c2d938fcf","url":"https://daily.dev/sources/mercari"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/rethinking-payment-apis-at-merpay-the-exchange-abstraction-qa9c8pgcd","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"architecture,fintech,distributed-systems","timeRequired":"PT15M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Mercari Engineering","item":"https://daily.dev/sources/mercari"},{"@type":"ListItem","position":3,"name":"Rethinking Payment APIs at Merpay: The Exchange Abstraction"}]}
```

