Yuno 测试Gateway

为了测试一般的银行卡支付,Yuno 提供了Yuno Test PaymentGateway。它可以作为连接使用,但只能在沙盒环境中使用。

与 Yuno 联系

通过 Yuno 集成时的必填字段

Yuno Test 支付Gateway 不需要任何密钥。

一般信息

国家

球旗
适用于所有国家。

货币

所有货币均可使用。

卡片类型

贷记、借记和预付。

测试数据

卡信息,以便在测试模式下完成支付。

集成配置

仪表板配置

  1. 登录dashboard.y.uno
  2. 单击连接,然后选择Yuno Test PaymentGateway
  3. 单击连接
  4. 介绍姓名
  5. 点击连接

生产环境

商家上线的具体流程

此连接仅用于测试程序。

设置 Yuno 测试支付Gateway

  1. 完成测试支付Gateway 集成配置
  2. 建立连接后,您必须在路由部分指定 Yuno Test PaymentGateway 为您的银行卡支付提供商。访问 Yuno 控制面板上的 "路由",选择 "未发布",找到 "卡 "选项,然后单击 "设置"。
  1. 卡片.如果您不确定如何创建,请查看 配置动态路由.
    1. 在路由仪表板上,添加触发银行卡支付的条件。例如,您可以使用银行卡品牌或国家作为触发条件。
    2. 在创建的条件中,添加 Yuno Test 支付Gateway。
    3. 对于所有其他支付选项,请选择取消选项。下图展示了一个路由配置示例,其中使用了银行卡品牌条件,接受威士卡和万事达卡品牌的付款。
  1. 现在,您需要让卡片可供测试。访问 Yuno 控制面板上的结账生成器。 激活卡片的切换按钮,并使用发布按钮发布结账。

使用创建支付指南了解如何测试银行卡支付。

使用 Yuno 测试Gateway测试银行卡支付

在本页,您将看到使用Yuno TestingGateway 创建银行卡支付的操作指南。

Yuno TestingGateway是 Yuno 用来测试一般银行卡支付的解决方案。它可以作为连接使用。不过,它只能在沙盒环境中使用。

要求

在开始执行本指南所述步骤之前,您需要

步骤摘要

创建付款流程通常需要完成以下四个步骤。

  1. 创建客户
  2. 创建结账会话
  3. 创建一次性Token
  4. 创建付款

创建payment

1.创建客户

使用 创建客户 注册客户信息。您需要提供个人客户信息。此外,您还需要提供 merchant_customer_id客户的唯一标识符。

📘

客户补充信息

创建客户时,某些信息不是必须提供的,但提供这些信息可以改善用户的支付体验。电话、账单地址和送货地址就是可以提供的非必填数据。如果添加了可选信息,请注意必填字段。

在创建客户流程结束时,您将收到一份 id在 Yuno 系统中识别用户。使用 id 来initialize 结账。

如果您要为先前创建的现有用户创建付款,而该用户已经有一个 id您可以跳过这一步。

2.创建结账会话

客户注册后,您就可以创建一个结账会话。结账是指客户最终完成订单,并开始为他们想要购买的产品或服务付款。因此,在这一阶段,您将提供有关付款金额和创建地点的信息。

🚧

路由条件过滤

创建路由时,可以定义作为筛选器的条件。如果使用国家作为条件,请检查创建结账会话时提供的国家是否在条件列表中。否则,Yuno TestingGateway 可能无法处理银行卡支付。

使用 创建结账会话 endpoint。请注意 customer_id 执行请求所需的 id 中创建客户时收到的 步骤 1.

从请求响应到 创建结账会话 endpoint,您将收到 checkout_session 信息。该信息将用于创建一次性token (OTT)和下一步的支付。

3.创建一次性token (OTT)

OTT 是 Yuno 为保护客户隐私和安全而生成的唯一标识符。它是支付详情的标识符,可防止敏感数据存储在您的服务器上。因此,您可以使用 OTT 让您的客户轻松重复支付,而无需重新输入支付信息,使支付过程更加安全和方便。

在您的生产应用程序中,您将始终从 Yuno SDK 获得 OTT。不过,为了方便您测试付款创建过程,Yuno 提供了 创建 OTT endpoint。您需要提供 checkout_session 收到 步骤 2 并将付款类型定义为 CARD 通过 type 参数。 在响应中,您将收到 one-time-token您将使用它来创建付款。

4.创建付款

您将使用创建付款 endpoint创建付款。下面将深入介绍如何创建付款。

4.1 提供所需的属性

提供与客户相关的信息,包括 checkout_session 从步骤 2 到 checkout.sessioncustomer_payer 对象,该对象包含 id 从步骤 1 开始。

创建付款时,某些对象不是必须提供的。但是,如果您提供了这些信息,用户的支付体验将得到改善。如果您希望提供这些信息,请注意必填字段。

4.2 选择捕捉类型

Yuno 提供两种付款采集选项:

  • 单步式:授权和采集同时进行。您只需创建付款。授权和采集将自动执行。对于单步式选项,您需要发送 capture 属性为 true 请求。
  • 两个步骤:授权和抓取在不同时刻进行。创建付款后,您需要执行授权请求和捕获请求。 capture 作为 false 创建付款后,使用 授权Payment采集授权 以完成该过程。

4.3 确定付款工作流程

创建付款时,您需要告知正在使用 Yuno 的哪个集成。创建付款时,您必须通过 workflow 属性,可以是

  • CHECKOUT:如果您使用 Yuno SDK 创建付款。
  • DIRECT:如果使用背对背集成。要使用此工作流程,您需要符合 PCI 标准。
  • REDIRECT:如果使用背对背集成和提供商重定向。

4.4 提供付款方式信息

通过对象告知付款方式信息 payment_method.在这里,您将提供 one-time-token 通过属性 token 并选择付款 type 等于 CARD步骤 3根据 付款类型列表.此外,您还需要在对象上添加卡片信息 detail.card.

在使用 Yuno Test PaymentGateway 测试支付时,您可以使用支付描述或具体的银行卡数据来获得所需的结果。下面将详细介绍每种方法。

📘

Yuno 系统流程

Yuno 系统遵循一个顺序过程,首先检查卡片数据,然后评估所提供的说明。因此,如果卡数据显示的状态与测试付款的描述不一致,Yuno 将优先考虑并反映与卡数据相关的状态。

4.4.1 - 付款说明

要使用付款描述获得所需的付款结果,需要将预期结果定义为所创建付款的描述。例如,如果您正在测试付款并期望得到成功的结果,那么付款描述应为SUCCEEDED"(SUCCEEDED)。您可以在交易代码部分找到所有可用选项。

4.4.2 - 贺卡详情

另一种获得预期支付结果的方法是使用 Yuno 提供的测试卡。在下表中,您可以找到使用 Yuno 测试Gateway时要用到的卡及其数据详情列表。交易响应代码列定义了使用相应卡时返回的支付状态。

签证
数量 有效期 安全代码 持卡人姓名 交易响应代码
4507990000000002 11/28 123 无名氏 SUCCEEDED
4507990000000010 11/28 123 无名氏 资金不足
4507990000000028 11/28 123 无名氏 DECLINED
4507990000000036 11/28 123 无名氏 不表彰
4507990000000044 11/28 123 无名氏 无效安全码
4507990000000051 11/28 123 无名氏 无效卡数据
4507990000000069 11/28 123 无名氏 报失
4507990000000077 11/28 123 无名氏 ERROR
万事达卡
数量 有效期 安全代码 持卡人姓名 交易响应代码
5252440000000002 11/28 123 无名氏 SUCCEEDED
5252440000000010 11/28 123 无名氏 资金不足
5252440000000028 11/28 123 无名氏 DECLINED
5252440000000036 11/28 123 无名氏 不表彰
5252440000000044 11/28 123 无名氏 无效安全码
5252440000000051 11/28 123 无名氏 无效卡数据
5252440000000069 11/28 123 无名氏 报失
5252440000000077 11/28 123 无名氏 ERROR
美国运通
数量 有效期 安全代码 持卡人姓名 交易响应代码
370000000000002 11/28 1234 无名氏 SUCCEEDED
370000000000010 11/28 1234 无名氏 资金不足
370000000000028 11/28 1234 无名氏 DECLINED
370000000000036 11/28 1234 无名氏 不表彰
370000000000044 11/28 1234 无名氏 无效安全码
370000000000051 11/28 1234 无名氏 无效卡数据
370000000000069 11/28 1234 无名氏 报失
370000000000077 11/28 1234 无名氏 ERROR
餐厅
数量 有效期 安全代码 持卡人姓名 交易响应代码
3647166000000002 11/28 123 无名氏 SUCCEEDED
3647166000000010 11/28 123 无名氏 资金不足
3647166000000028 11/28 123 无名氏 DECLINED
3647166000000036 11/28 123 无名氏 不表彰
3647166000000044 11/28 123 无名氏 无效安全码
3647166000000051 11/28 123 无名氏 无效卡数据
3647166000000069 11/28 123 无名氏 报失
3647166000000077 11/28 123 无名氏 ERROR
UATP
数量 有效期 安全代码 持卡人姓名 交易响应代码
1139000000000002 11/28 123 无名氏 SUCCEEDED
1139000000000010 11/28 123 无名氏 资金不足
1139000000000028 11/28 123 无名氏 DECLINED
1139000000000036 11/28 123 无名氏 不表彰
1139000000000044 11/28 123 无名氏 无效安全码
1139000000000051 11/28 123 无名氏 无效卡数据
1139000000000069 11/28 123 无名氏 报失
1139000000000077 11/28 123 无名氏 ERROR

4.4.3 - 3DS 测试卡

使用这些卡和OTP代码,通过我们的预览环境,使用Netcetera Demo Merchant (NDM)模拟器测试3DS流程,该模拟器的配置是模拟目录服务器和/或带有预定义方案和测试卡号的ACS。它不能连接外部测试目录服务器和/或 ACS,只能帮助完成用于测试目的的 3DS 流程。

运通
卡号 预期响应 3DS 2.x 预期响应 3DS 1.x DS (VERes) 预期响应 3DS 1.x ACS (PARes)
341502098634895无摩擦认证应用程序ENROLLED_Y交易状态
348638267931507浏览器挑战ENROLLED_Y交易挑战
345695399207589未经验证的无障碍应用程序ENROLLED_Y交易状态
349531373081938应用挑战ENROLLED_Y交易状态
342316317472410应用程序_challenge_sdk_trans_id_invalid_format_格式无效ENROLLED_Y交易状态
347899129656655无限制认证浏览器ENROLLED_Y交易状态
345197771649926未验证的无限制浏览器ENROLLED_Y交易状态
372021106351394浏览器挑战ENROLLED_Y交易挑战
3734123412340000ENROLLED_Y交易状态
3434567891111005ENROLLED_Y交易挑战
3794521996036850ENROLLED_Y交易挑战

万事达卡
卡号 预期响应 3DS 2.x 预期响应 3DS 1.x DS (VERes) 预期响应 3DS 1.x ACS (PARes)
5333259155643223无摩擦认证应用程序ENROLLED_Y交易状态
5306889942833340浏览器挑战ENROLLED_Y交易挑战
5328720384582224未经验证的无障碍应用程序ENROLLED_Y交易状态
5267648608924299应用挑战ENROLLED_Y交易状态
5187434643593002应用程序_challenge_sdk_trans_id_invalid_format_格式无效ENROLLED_Y交易状态
5512459816707531无限制认证浏览器ENROLLED_Y交易状态
5487971631330522未验证的无限制浏览器ENROLLED_Y交易状态
5424184049821670浏览器挑战ENROLLED_Y交易挑战
5204240438720050123浏览器挑战ENROLLED_Y交易挑战
5250548692069390ENROLLED_Y交易挑战
5641523891636636ENROLLED_Y交易挑战
签证
卡号 预期响应 3DS 2.x 预期响应 3DS 1.x DS (VERes) 预期响应 3DS 1.x ACS (PARes)
4556557955726624无摩擦认证应用程序ENROLLED_Y交易状态
4916994064252017浏览器挑战ENROLLED_Y交易挑战
4556104160382032未经验证的无障碍应用程序ENROLLED_Y交易状态
4024007189449340应用挑战ENROLLED_Y交易状态
4024007179872394应用程序_challenge_sdk_trans_id_invalid_format_格式无效ENROLLED_Y交易状态
4929251897047956无限制认证浏览器ENROLLED_Y交易状态
4716429323842524未验证的无限制浏览器ENROLLED_Y交易状态
4234123412340003ENROLLED_Y交易挑战
4604633194219929ENROLLED_Y交易挑战
4485436455354151browser_frictionless_missing_ds_trans_id
4556962659911995无摩擦应用程序_丢失的数据集_trans_idENROLLED_Y交易状态
4539837572943550browser_frictionless_missing_ds_trans_idENROLLED_Y交易状态
4024007176265022浏览器_挑战_缺少的 ACS_URLENROLLED_Y交易状态
4716125059847899THREE_RIENROLLED_Y交易状态
4556362626719763PROTOCOL_ERRORENROLLED_Y交易状态
4234123412340000ENROLLED_Y交易状态
4234123412340006ENROLLED_Y交易状态
4234123412340007ENROLLED_Y交易状态 a
4234123412340001ENROLLED_N
4234123412340002未登记(VeRes 为错误 404 "在目录服务器的卡范围中找不到卡账号")。enrolled_n (不适用)
4234123412340100MISSING_ROOT
4234123412340101缺失信息
4234123412340102无效信息
4234123412340103缺失版本
4234123412340104非法版本
4234123412340105MISSING_URL
4234123412340106ILLEGAL_URL
4234123412340107缺失注册
4234123412340108非法注册
4234123412340109非法扩展
4234123412340200ERROR
4234123412340201ERROR
4234123412340202ERROR
4234123412340203ERROR
4234123412340204ERROR
4234123412340205ERROR
4234123412340206ERROR
4234123412340220ERROR
4234123412340250ERROR
4234123412340251ERROR
4234123412340252ERROR
4234123412340253ERROR
4234123412340258ERROR
4234123412340298ERROR
4234123412340299ERROR
4234123412340300IREQ_CUSTOM
4234123412340301ireq_enrolled_y
4234123412340350IREQ_50
4234123412340351IREQ_51
4234123412340352IREQ_52
4234123412340353IREQ_53
4234123412340354IREQ_54
4234123412340355IREQ_55
4234123412340356IREQ_56
4234123412340358IREQ_58
4234123412340398IREQ_98
4234123412340399IREQ_99
4234123412340400不支持的版本
4234123412340401未识别的关键扩展名
4234123412340402服务器错误
4234123412340403超时
餐厅
卡号 预期响应 3DS 2.x 预期响应 3DS 1.x DS (VERes) 预期响应 3DS 1.x ACS (PARes)
3095000000000000无摩擦认证应用程序ENROLLED_Y交易状态
3095000000000001浏览器挑战ENROLLED_Y交易挑战
3095000000000002未经验证的无障碍应用程序ENROLLED_Y交易状态
3095000000000005无限制认证浏览器ENROLLED_Y交易状态
3095000000000006未验证的无限制浏览器ENROLLED_Y交易状态
JCB
卡号 预期响应 3DS 2.x 预期响应 3DS 1.x DS (VERes) 预期响应 3DS 1.x ACS (PARes)
3528000000000000无摩擦认证应用程序ENROLLED_Y交易状态
3528000000000001浏览器挑战ENROLLED_Y交易挑战
3528000000000002未经验证的无障碍应用程序ENROLLED_Y交易状态
3528000000000005无限制认证浏览器ENROLLED_Y交易状态
3528000000000006未验证的无限制浏览器ENROLLED_Y交易状态
范围
起始范围 终端范围 计划
340000000000000349999999999999运通
370000000000000379999999999999运通
22210000000000002223000000000022万事达卡
22230000000000242720999999999999万事达卡
51000000000000005111111111111117万事达卡
51111111111111195599999999999999万事达卡
40000000000000004111110000000210签证
41111100000002124234123412339999签证
42341234123500004999999999999999签证
30000000000000003099999999999999餐厅
35280000000000003589009999999999JCB
3DS2 OTP 代码
OTP 代码 交易状态 交易状态原因 ECI 验证值
1234Y/01JAmi21makAifmwqo2120cjq1AAA=
1111N0101/
2222R0101/
3333U0101/
4444A0101Qm181okmdyqh6yQmYuq1890QAAA=

相同的 OTP 代码适用于 Visa、Mastercard 和 Amex 方案。

3DS1 OTP 代码
OTP 代码 交易状态 CAVV CAVV 算法 ECI
1234YVGhpcyBpcyBhIHRlc3QgYmFzZTY=705
1111N///

5.查看付款状态

在向 创建Payment您可以通过分析 statussub_status 从答复中删除。检查 Payment 状态 页面,查看创建付款请求后可能收到的所有选项。

根据处理器和付款方式的不同,状态更新可能需要一些时间。因此,您可能需要使用endpoints 来恢复付款状态。要执行这项任务,可以使用按 ID 检索付款按商家订单号 检索 付款 endpoints。另一种方法是使用 webhooks 在每个事件发生后接收通知。Yuno 建议您使用 Webhooks 来更好地监控异步支付。查看Webhooks指南,了解如何配置 Yuno 提供的 Webhooks 解决方案。