高级后端工程师-支付
Senior Backend Engineer-Payments
我们是一家国际经纪公司。我们的客户通过覆盖亚洲、非洲、拉美和中东的约60种支付方式进行资金存取。
支付现在已成为一个独立的功能,我们正在围绕它组建团队。
我们正在寻找一位高级后端工程师,负责我们的连接器层以及下游所有内容:构建一个标准的适配器层,使供应商可以通过配置和轻量适配器接入,而不是每次都要单独开发;将支付方式迁移到服务器到服务器和嵌入式流程;在全平台范围内确保交易状态的可靠性和可观测性。
你还将是支付功能与编排平台团队的技术对接人:我们需要平台实现的行为在这里被定义、讨论并审查。
你的职责包括:
- 构建并负责连接器和适配器层,使添加或替换供应商变为配置和轻量适配器,而不是每次都要重新集成
- 将支付方式从重定向流程迁移到服务器到服务器和嵌入式流程(如果供应商支持),并测量结果
- 负责编排层下游的所有内容:对账、我们在侧的交易状态处理、方法配置和支付流程进入客户门户
- 端到端确保交易状态的可靠性,通过主动状态轮询、幂等处理和对账实现
- 在全平台范围内建立交易状态和供应商性能的可观测性
- 定义我们需要编排平台实现的行为:交易状态机、幂等性、轮询、路由和级联规则。你将设计它、为其辩护并审查返回的内容
- 支持我们的卡计划的集成工作
- 将相同的集成方案扩展到收购的实体,作为配置而非每次重新开发
要求
- 5年以上后端工程经验,精通TypeScript、Node.js,熟悉关系型数据库
- 具有支付系统的生产经验:授权、回调、退款、对账和重试行为
- 对幂等性、异步状态处理、交易状态机和部分失败设计有实际理解。这是该职位的核心,而非细节,你将既基于它进行开发,也对其进行定义
- 具有集成质量参差不齐的第三方API的经验,包括直接与供应商的集成团队合作解决文档未涵盖的问题
查看英文原文
We are an international broker. Our clients fund and withdraw through roughly 60 payment methods across Asia, Africa, LATAM and the Middle East.
Payments is now a standalone function, and we are building the team around it.
We are looking for a Senior Backend Engineer who will own our connector layer and everything downstream of it: building a canonical adapter layer so that providers plug in rather than get built one by one, moving payment methods to server-to-server and embedded flows, and making transaction status reliable and observable across the estate.
You will also be the payments function's technical counterpart to the orchestration platform team: the behaviour we need from the platform is specified here, argued here and reviewed here.
Your responsibilities will be:
- Building and owning the connector and adapter layer, so that adding or replacing a provider becomes configuration and a thin adapter rather than a new integration each time
- Migrating payment methods from redirect flows to server-to-server and embedded flows where the provider supports it, and measuring the result
- Owning everything downstream of the orchestration layer: reconciliation, transaction status handling on our side, method configuration and payment flows into the client portal
- Making transaction status reliable end to end, through active status polling, idempotent processing and reconciliation
- Building observability over transaction status and provider performance across the estate
- Specifying the behaviour we need from the orchestration platform: transaction state machine, idempotency, polling, routing and cascading rules. You design it, argue for it and review what comes back
- Supporting integration work for our card programme
- Extending the same integration set to acquired entities as configuration rather than a new build each time
Requirements
- 5+ years in backend engineering, strong in TypeScript, Node.js, comfortable in relational databases
- Production experience with payment systems: authorisation, callbacks, refunds, reconciliation and retry behaviour
- Practical understanding of idempotency, asynchronous status handling, transaction state machines and designing for partial failure. This is the core of the role rather than a detail, and you will both build against it and specify it
- Experience integrating third-party APIs of uneven quality, including working directly with a provider's integration team to resolve what the documentation does not answer
- The ability to own a service rather than close tickets: architecture decisions, standards and root cause fixes
- English and Russian at a working communicative level
Will be a significant plus:
- Exposure to .NET for work touching the client portal
- Experience with APM and local rails in Asia, Africa or LATAM rather than cards alone
- Experience with bank transfer rails, virtual accounts, QR-based methods, mobile money etc.
- Event-driven patterns in production: transactional outbox, idempotent consumers, sagas
- Background in brokerage, crypto payments, orchestration or another high-volume payments environment; on the provider side, at a PSP, gateway or payment company
- Active use of AI tooling in daily work
- Ability to work independently and make decisions without constant oversight
- Proactive mindset: willingness to propose improvements, fixes, new approaches
- What the first year looks like.
- In the first months you take over the integration codebase with a documented handover, strengthen transaction status handling, and ship your first server-to-server integration.
- By mid-year the adapter layer is in place, new providers go live against it rather than as one-off builds, and transaction status and provider performance are observable across the estate.
- In the second half the migration to server-to-server and embedded flows runs as a programme across methods, and the same integration set starts extending to our other entities. As the team grows, a Systems Analyst takes over instrumentation and verification while integration engineering stays with you.
Recruitment process:
- HR interview, covering background, motivation and fit
- Technical interview on backend engineering and the payments domain
- Home task as a case from the real needs
- System design and problem-solving interview, covering integration design, failure handling and status modelling
- Final interview with senior stakeholder.
Benefits
Fixed monthly compensation of [based on experience]
Fully remote work within GMT to GMT+4, with no relocation required
Ownership of the connector layer and everything downstream, with direct influence on what the orchestration platform becomes
Engineering problems that are not CRUD: asynchronous status across dozens of providers, partial failure, and local payment rails in emerging markets
Scope that grows with the business: a card programme, new entities and new payment products
Corporate AI tooling as part of the working process
Originally posted on Himalayas