跳转到主内容

沙盒测试( T)

沙盒与生产是同一个平台,运行相同的代码,有支付供应商 替换为模拟器。 使用它来构建和测试您的整合; 没有货币移动 。


沙盒对生产​

沙盒生产
基础 URLhttps://sandbox.4pay.online/api/v1https://4pay.online/api/v1
付款页https://pay.sandbox.4pay.onlinehttps://pay.4pay.online
凭据单独钥匙和组织编号单独钥匙和组织编号
实际费用永远不要实金
Webhook 通知✅ 已发送到您终端的 notify_url✅ 已发送到您终端的 notify_url
不同的主机,而不是不同的密钥

环境是 ** 在单独主机名上单独部署**,且证书不包含 交叉: 沙盒密钥在生产上毫无意义, 反之亦然。 密钥没有前缀 。 以便他们分道扬镳。

在一个主机内, env 在请求正文中选择交易本身的环境,它 is 所需经费. A ?env=test 查询参数只搜索范围:只包含 生成一个 生产 交易。见 交易.


获取沙盒证书​

询问您的平台操作员。 他们在沙盒组织里为您创建了合伙人账户 。 将两个价值观交到一起—— API 键和组织编号。 请求。


进行测试交易​

curl -X POST https://sandbox.4pay.online/api/v1/transactions \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_SANDBOX_KEY" \
-H "x-organization-id: YOUR_SANDBOX_ORGANIZATION_ID" \
-d '{
"params": {
"type": "payment",
"amount": "1000",
"currency": "USD",
"txid": "sandbox-test-001",
"env": "test",
"hosted": true,
"returnUrl": "https://yoursite.com/success",
"failUrl": "https://yoursite.com/fail"
}
}'

你回来 widget_url打开浏览器查看主机支付表,并使用 下方的一张牌


测试卡​

模拟器不按卡片分类 BIN 与公共网关相比 整个TUPL 数字, CVV、持卡人和过期者——对照固定名单。 拒绝差异与 unexpected card.

牌号CVV持卡人过期结果
2201382000000013283IVAN IVANOV12 / 20解决 - charging,则 charged 大约一分钟之内
2201382000000021749IVAN IVANOV12 / 20❌ rejected 由提供者提供
2201382000000047480IVAN IVANOV12 / 20解决,然后退款
2201382000000039572IVAN IVANOV12 / 20❌ failed
2201382000000054111IVAN IVANOV12 / 20⏸ 出款停留在 payout_suspended

其他一切——包括签证和万事达卡测试号——作为结束 rejected 与 unexpected card.

"money_storage": {
"cardnumber": "2201382000000013",
"cvv": "PROVIDER_TEST_CVV",
"cardholder": "IVAN IVANOV",
"exp_year": "20",
"exp_month": "12"
}

说明 exp_year 是两位数字,而持卡人为大写。 SDK 以常数导出这些常数( E) :sandbox.CARD_CHARGE 朋友们,所以你 不要重打它们。

付款​

外地数值结果
bank_id200000000001支付结算
bank_id200000000002拒绝付款
customer (SBP)John Doe和解; 拒绝任何其他名称

无需浏览器充电​

自动测试时, 跳过付费页面, 并收取卡片服务器到服务器的费用 :

curl -X POST https://sandbox.4pay.online/api/v1/transactions \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_SANDBOX_KEY" \
-H "x-organization-id: YOUR_SANDBOX_ORGANIZATION_ID" \
-d '{
"params": {
"type": "payment",
"amount": "1000",
"currency": "USD",
"txid": "sandbox-test-002",
"env": "test",
"show_widget": false,
"money_storage": {
"cardnumber": "2201382000000013",
"cvv": "PROVIDER_TEST_CVV",
"cardholder": "IVAN IVANOV",
"exp_year": "20",
"exp_month": "12"
},
"returnUrl": "https://yoursite.com/success",
"failUrl": "https://yoursite.com/fail"
}
}'

它回来了 charging 并达到 charged 在大约一分钟内自行完成 。 二者都重定向 URL 这里需要——没有服务器到服务器的付款被创建并立即拒绝.

纸牌数据让你进入 PCI DSS 范围

通过自己的服务器传递一个真实的卡片号码意味着卡片数据环境是您的 在沙盒中,这是测试的方便;在生产中,使用主机。 流动,除非你已经持有 PCI DSS 证明书。


测试网点​

用隧道曝光您的本地服务器 :

ngrok http 3000
# → Forwarding: https://abc123.ngrok.io → localhost:3000

请您的操作员设置 https://abc123.ngrok.io/webhooks/payment 作为 notify_url 在你身边 沙盒终端, 带着一个网球秘诀 - 没有了一个平台,没有签名,你 无法从伪造的邮件中分辨真实的交货。 Webhook 通知.


什么不是模拟的​

提供人特有的行为模拟器代表每个供应商。 铁路特异性突变—— 3DS 变种、 本地钱包重定向、 银行截断时间—— 只在生产中出现 。
结算时间Sandbox 支付数秒后结算; 真正的铁路需要数分钟到数天
收费收费计算运行,但无论费率如何 沙盒组织已经配置

活下来了​

  1. 从您的操作员那里获取生产证书——一个新的密钥和组织代号.
  2. 将主机更改为 https://4pay.online.
  3. 变动 env 请求中 "prod".
  4. 点 notify_url 在你的生产终点, 与它自己的秘密。
  5. 运行一个真正的支付 小额,并退款。

步骤 2 和 3 由主机决定您要与哪个平台交谈; env 决定交易的平台所在位置 。 错误,产生"测试" 支付在运行的铁路。