环境(Environments)
实例中的 Sandbox(沙盒)和 Production(生产)环境。
每个实例包含两个环境:
production- 用于线上正式应用的环境。sandbox- 供开发者测试交易或在测试/质量保证系统中使用的环境。
这两个环境拥有独立的基础设施,因此如买家、支付服务等资源不会互通。这也意味着 sandbox 和 production 的 API 及控制台域名不同。
API 域名如下:
| 环境 | 域名 |
|---|---|
| sandbox | sandbox.efundpay.com |
| production | api.efundpay.com |
同一次请求中应使用同一环境的凭证、商户号、站点商户号和 RSA 密钥,不要混用沙盒与生产环境的值。
沙箱演示凭据
公开沙箱演示凭据(Public sandbox demo credentials)
以下凭据会公开展示在文档站中,仅可用于沙箱测试。不要在这里配置生产密钥、真实商户私钥或客户数据。
API 直接接入
| API Key | sk_test_your_direct_key |
|---|---|
| X-MERCHANT-ACCOUNT-ID | acct_your_direct_account_id |
| JWT header kid | kid_your_direct_key_id |
| RSA private key | |
收银台接入
| API Key | sk_test_your_checkout_key |
|---|---|
| X-MERCHANT-ACCOUNT-ID | acct_your_checkout_account_id |
| JWT header kid | kid_your_checkout_key_id |
| RSA private key | |
Webhook RSA 公钥
your_webhook_public_rsa_key你可以在 sandbox 环境中测试支付服务、卡规则等设置,确认无误后再迁移到 production 环境。
为什么要有多环境?
环境是开发流程中不可或缺的一部分。开发者通常会在本地运行应用并集成测试,为了避免测试数据污染正式环境,建议在 sandbox 环境下进行所有测试交易。
同样,你可能需要在 QA 或自动化测试中调用 API。为避免影响线上环境,建议将这些测试指向 sandbox 环境。
环境与支付服务 API
环境决定了连接的是哪个支付服务的 API。例如,Braintree 在 sandbox 环境下的交易会走 Braintree 的沙盒环境,而 production 环境下的交易则走 Braintree 的正式环境。
其他操作如注册数字钱包也依赖于环境。用 sandbox 注册的 Apple Pay 钱包只在 Apple Pay 沙盒环境下有效,不能用于正式环境。
简而言之,production 总是连接支付服务的正式 API,sandbox 总是连接其沙盒 API。