支付网关是一种电子商务服务,为商家处理、验证和接受信用卡及借记卡支付。预计全球支付网关市场规模将从 2025 年的超过 480 亿美元增长至 2033 年的超过 2450 亿美元\。支付网关测试可验证支付网关的功能和安全性,以确保系统能够准确、安全地处理在线交易。
现在有各种各样的专用工具,可让商家和开发人员模拟真实的交易流程,而不会危及真实资金。此流程通常从设置支付网关沙盒环境开始。对于更复杂的集成,团队可能会针对支付网关 API(API)编写自定义测试脚本来验证边缘情况。
下面,我们将介绍商家需要了解的支付网关测试类型、每种类型的运作方式,以及为何此测试很重要。
本文内容
- 支付网关类型
- 支付系统的关键测试类型
- 常见的支付网关测试用例和场景
- 支付网关测试用例示例
- 为何测试支付网关很重要
- 支付网关测试检查清单
- 设置支付网关沙盒环境
- Stripe Payments 如何提供帮助
支付网关的类型
每种支付网关在集成复杂性、用户体验和安全要求方面都有其优势和注意事项。
托管式支付网关: 这种网关会将客户重定向到支付服务提供商的平台以完成交易。在客户完成支付后,会被重定向回商家的网站。这种方法使商家受益,因为它将大部分安全要求外包给了支付服务提供商。托管式支付网关的示例包括 PayPal 和 Stripe。
自托管式支付网关: 这种网关在商家的网站或应用程序中收集客户的支付详细信息,然后将数据发送到支付网关的 URL。一些网关要求商家以特定格式捕获付款数据,而另一些则提供更大的灵活性。这种方法将更大的安全义务交给了商家,因为商家需要处理和保护支付数据。
API 托管式支付网关: 这种网关让商家可以使用网关的 API(API)将支付处理功能集成到其网站或移动应用程序中。API 托管式支付网关可提供更好的用户体验,因为客户无需像托管式网关那样离开商家的平台就能完成交易。请注意,这种类型的支付网关与自托管式支付网关具有相同的安全义务。
本地银行集成网关: 这种类型的网关会将客户重定向到其所选银行的网站以完成支付。在交易被处理后,客户会被重定向到商家的网站,并在此显示支付状态。这种方法简单直接,但可能无法提供最佳的用户体验,因为客户必须离开商家的网站才能完成支付。
支付系统的关键测试类型
测试支付网关可确保支付处理系统可靠、安全且高效。以下是与支付领域相关的几种关键测试类型:
功能测试:此类型的测试通过验证支付处理、交易状态、退款、撤单和对账流程,检查支付系统是否根据其指定的用例运行。
安全和监管合规测试:此类型的测试检查对结构化查询语言 (SQL) 注入和跨站脚本 (XSS) 等威胁的漏洞,以及是否符合安全、法律和监管标准,例如支付卡行业数据安全标准 (PCI DSS)。它还仔细检查加密机制和数据保护措施。
集成测试:此类型的测试检查系统是否能够与电子商务平台、银行和欺诈检测系统等系统成功集成,然后准确地交换数据。
用户界面和兼容性测试:此测试检查支付网关在各种平台、操作系统和浏览器上是否用户友好、直观且一致。测试移动端应用上的支付网关集成并提供清晰的说明和反馈可以降低错误和放弃交易的可能性。
灾难恢复、故障转移和性能测试:此测试评估支付系统能否处理大量交易(尤其是在高峰期),以及系统从故障中恢复并继续运行的能力。
兼容性测试:此测试通过检查支付系统跨不同平台、操作系统、浏览器和设备的工作情况,检查支付系统能否提供一致的用户体验。
回归测试:每当对支付系统进行更新或更改时,回归测试都会检查这些更改是否不会对现有功能产生不利影响。
移动应用测试:在移动设备上进行测试需要验证您的支付意图是否通过原生软件开发套件 (SDK) 而不是标准 Web 浏览器无缝流动。移动应用测试通常涉及确保数字钱包支持得到良好集成;特定于移动设备的环境因素(例如生物识别身份验证提示)正常工作;以及应用如何处理“后台”中断。
常见的支付网关测试用例和场景
支付网关测试包括运行一系列场景和用例,以检查系统是否按预期运行。以下是常见的测试场景和用例:
交易处理流程
成功的交易: 验证使用有效的支付详细信息是否可以成功处理支付。检查交易状态是否已正确更新,以及资金是否按预期进行转移。
失败的交易: 使用无效的卡信息或不足的资金进行测试,以检查交易是否按预期失败,以及用户是否收到明确的错误消息。
待处理的交易: 有些交易可能不会立即得到处理,并可能被标记为待处理。验证待处理的交易是否得到正确处理,并在处理后得到更新。
银行卡验证和存储
银行卡有效性: 使用过期、无效或被锁定的银行卡进行测试,以检查系统是否正确验证卡信息。
保存银行卡信息: 如果网关允许用户保存其卡信息以供将来的交易使用,请测试保存功能,以确认数据已安全存储并能在后续交易中被正确检索。
安全和监管合规检查
加密和数据保护: 检查信用卡号和银行卡验证码 (CVV)等敏感信息在传输和存储过程中是否得到妥善加密。
PCI DSS 监管合规: 验证支付网关是否符合所有 PCI DSS 要求。
用户界面和体验
输入验证: 测试所有输入字段是否得到正确验证,包括银行卡号、有效期和 CVV 码。确认用户对于无效输入能收到适当的反馈。
响应式设计: 检查支付网关的界面在各种设备和屏幕尺寸上是否响应迅速且功能正常。
本地化: 如果网关支持多种语言或货币,请测试这些功能以确认其正常工作并且用户体验良好。
系统和 API 集成测试
错误处理和系统消息传递
连接问题: 模拟网络延迟或服务器问题以测试网关如何处理连接故障,并检查用户是否能收到清晰、适当的消息。
超时: 在前端(用户界面)和后端(服务器或 API 级别)测试系统如何处理超时。
退款和交易争议处理
发起退款: 测试通过网关发起退款的流程,并验证交易是否正确撤销。
交易争议流程: 测试处理交易争议的工作流,确认商家能够响应并管理交易争议。
报告和对账准确性
交易报告: 测试交易报告的生成和准确性,确认所有交易类型(成功、失败、待处理)都得到正确的记录和报告。
对账: 验证支付网关的记录是否与商家的记录和银行对账单一致,并且所有交易均准确入账。
通过彻底测试这些场景,商家可以确保其支付网关安全、有效且用户体验良好。
支付网关测试用例示例
以下是通过 支付网关验证成功信用卡交易的测试用例示例。通过逐步操作,您可以评估支付网关处理交易的效果,并深入了解用户体验和系统可靠性。此特定测试用例的目标是模拟真实的场景,即客户通过在线平台使用信用卡进行购买。
测试目标:主要目标是检查支付网关是否能正确处理信用卡信息,并将交易结果传达给用户和商家的系统。这包括验证前端交互(用户看到的内容)和后端流程(系统如何处理交易数据)。
测试前提条件:开始之前,您需要一个测试环境,该环境可以模仿 Live 支付处理场景且不产生真实的财务影响,并能使用有效的信用卡进行测试(通常由支付网关提供以用于测试目的)。
预期结果:您期望的是一个简单的流程,用户在其中输入其详细信息、提交并收到表明付款成功的清晰、积极的确认信息。在后台,交易应正确记录在商家的系统中,反映出成功的资金转移。
测试执行步骤
测试支付网关的重要性
电子商务和在线商家依靠功能强大、易于使用的支付网关来打造可靠、安全的支付体验。支付网关测试可以通过以下方式帮助改进支付流程。
预测用户行为并优化交易流程: 测试可帮助商家了解客户在实际场景中如何与其支付系统进行交互,从而揭示对交易流程效率的深入见解。这种洞察力可以推动支付流程的改进,从而可能提高转化率。例如,了解用户在流程中犹豫或放弃的环节,可以为简化支付体验的设计更改提供依据,从而提高客户满意度并鼓励完成更多交易。
主动解决问题和评估扩张性: 测试通过在各种条件下检查支付网关来预测挑战,从而让商家能够规划和评估扩张性。商家可以在潜在故障点影响客户之前识别出它们,并制定相应的应急计划。这可确保即使在不可预见的情况下或随着交易量的增长,商家的运营也能顺利进行。
数据驱动的决策、基准测试和持续改进: 测试会产生大量数据,为商家提供有关支付流程的深入洞察。这些数据让商家可以将其支付系统的性能与行业标准和竞争对手进行基准比较,从而为关键决策提供依据,例如优先考虑哪些支付方式,或在何处分配资源以升级支付基础设施。
加强安全态势: 安全测试可为商家提供关于系统抵御新威胁能力的更深刻洞察,为采取更周密的安全措施提供依据。
支付网关测试清单
准备工作清单
此清单有助于为支付网关测试准备全面有效的测试用例,解决维护系统可靠性、安全性和性能的重要方面。
测试前信息收集:在测试前,记下任何支付网关集成要求、支持的支付方式、预期的交易流程以及支付过程中应用的特定规则或逻辑。
测试环境设置:建立一个尽可能与生产设置相似的安全且隔离的测试环境。确认测试支付方式(例如,测试信用卡号)已准备就绪并可运行。
测试数据准备:为各种测试场景准备有效和无效的测试数据,包括适用于不同支付方式、货币和国家/地区(如果适用)的测试数据,以及涵盖极端情况和边界条件的测试数据。
设计测试用例:跨不同类型的测试设计测试用例,以解决一系列潜在场景并检查一系列功能,包括以下方面:
- 功能测试
- 安全测试
- 集成测试
- 用户界面和体验测试
- 性能测试
- 监管合规和报告测试
- 错误处理和恢复测试
审查、记录和更新:确保所有测试用例都已记录在案并符合安全和监管合规要求。如有必要,审查并更新测试用例,以遵守任何要求变更。
执行清单
为了对支付网关进行全面和详细的评估,请遵循一份结构化的检查表,涵盖系统的所有关键组件,例如功能性、安全性、可用性和集成能力。
功能测试
- 确认网关使用所有支持的支付方式准确处理交易。
- 尝试模拟不同的支付方式以测试 Visa、Mastercard 和 American Express 交易。
- 对成功的交易执行测试,以验证资金已正确转账并生成了收据。
- 使用无效的卡信息或余额不足来模拟交易失败,以评估错误处理和用户通知的清晰度。
- 检查网关如何管理待处理交易并监控其解决状态。
- 测试处理退款、取消和撤单的功能,观察系统的处理和记录情况。
- 确定网关处理部分支付或拆分交易(如果适用)的能力。
- 确认网关使用所有支持的支付方式准确处理交易。
安全测试
- 进行安全或验证标准(例如 3D Secure 和 PCI DSS)的合规性检查,以验证是否遵守行业要求。
- 评估传输和存储期间敏感数据的加密机制。
- 执行全面的漏洞评估和渗透测试,以发现潜在的安全问题。
- 测试所有字段的输入验证,以防止常见的网络威胁,例如 SQL 注入和 XSS。
- 检查支付系统内用户身份验证和数据访问授权的机制。
- 进行安全或验证标准(例如 3D Secure 和 PCI DSS)的合规性检查,以验证是否遵守行业要求。
集成测试
- 验证与网站或应用程序前端的交易流程集成。
- 测试支付网关与外部系统(例如会计、库存或客户关系管理 (CRM) 软件)的通信情况。
- 确认网关在交易完成后提供准确的通知或回调。
- 验证与网站或应用程序前端的交易流程集成。
用户体验测试
- 在各种设备和浏览器上评估支付流程的连贯性和响应性。
- 检查支付指令、错误消息和确认通知的清晰度和实用性。
- 确定从开始到结束支付流程的导航便利性和直观性。
- 在各种设备和浏览器上评估支付流程的连贯性和响应性。
性能测试
- 分析网关同时管理大量交易的能力。
- 测量各种负载场景下的响应时间,以识别任何延迟或瓶颈。
- 测试系统在压力下的弹性和行为,以准确定位潜在的性能问题。
- 分析网关同时管理大量交易的能力。
监管合规和报告
- 检查网关是否生成准确、详细的交易报告。
- 审查系统的日志记录和审计跟踪,确认其出于监管合规目的而言是全面和安全的。
- 检查网关是否生成准确、详细的交易报告。
错误处理和恢复
- 测试系统对网络中断、系统崩溃和其他异常情况的响应,以验证交易数据的完整性。
- 验证管理中断交易或系统恢复的程序,以保持数据一致性和运营连续性。
- 测试系统对网络中断、系统崩溃和其他异常情况的响应,以验证交易数据的完整性。
文档和支持
- 审查支付网关文档的清晰度、完整性和准确性。
- 评估网关供应商支持渠道(包括帮助台、常见问题解答和客户服务响应速度)的有效性。
- 审查支付网关文档的清晰度、完整性和准确性。
设置支付网关沙盒环境
在处理真实的支付之前,开发人员通常会使用沙盒或测试环境,这允许他们进行试验而不会产生真实的财务后果。设置该环境是支付网关测试的基础步骤,可确保您的集成逻辑在触及客户数据之前是完备的。
设置流程通常包括以下步骤:
注册开发人员或测试账户: 大多数主要网关(例如 Stripe)都要求您创建特定的开发人员账户或将现有账户切换到 Test 模式。这提供了一个私密空间来查看测试交易。
使用测试凭证进行初始化: 与使用生产凭证的 Live 环境不同,沙盒需要专用的 API 密钥、商家 ID 和令牌。这些凭证充当安全阀,确保使用它们发出的任何请求绝不会触发真实的扣款。
使用模拟支付数据: 为了模拟成功和失败的交易,网关提供了一个“测试”凭证库。这包括虚假的信用卡号、CVV 码和旨在触发特定响应的银行账户详情。
配置 API 端点: 必须指示您的应用程序将数据发送到何处。在沙盒阶段,您要将网站或应用指向网关的测试 API 端点,而不是生产端点。
执行测试场景: 建立连接后,您就可以开始模拟客户旅程——初始结账、3DS 验证、成功收款以及随后的退款。
手动与自动测试
在沙盒中工作时,团队通常采用两种不同的方法:手动测试和自动测试。
在手动测试中,测试人员将直接与结账用户界面进行交互,输入测试卡号,点击按钮,并验证屏幕上是否出现正确的消息。这种方法很有帮助,因为这是对用户体验 (UX) 的直接测试,并确保支付页面的视觉元素按预期运行。
在自动测试中,开发人员编写直接与支付网关 API 交互的测试脚本,或使用模拟服务来模拟网关响应。这使得团队可以在几秒钟内运行数百次交易测试,确保新的代码部署不会破坏现有的支付逻辑。
通过将沙盒环境的安全性与手动和自动检查相结合,商家可以对其支付基础设施充满信心。
Stripe Payments 如何提供帮助
Stripe Payments 提供一体化的全球支付解决方案,能够助力各类企业——从成长型初创公司到全球性企业——在全球范围内接受线上、线下支付。
Stripe Payments 可帮助您:
- 优化您的结账体验:通过预构建的支付用户界面、125 种以上支付方式以及 Stripe 构建的 Link 钱包,打造顺畅的客户体验,并节省数千小时的工程时间。
- 更快拓展新市场:覆盖全球客户,并通过跨境支付选项降低多币种管理的复杂性和成本,覆盖 195 个国家/地区、支持 135 种以上货币。
- 统一线下与线上支付:整合线上与线下渠道,打造一体化商务体验,实现个性化互动、提升客户忠诚度并增加收入。
- 提升支付表现:通过一系列可定制、易于配置的支付工具提升收入,包括无代码欺诈防护和提高授权率的高级功能。
- 利用灵活、可靠的平台加速业务增长:选择一个专为随业务扩展而设计的平台,历史正常运行时间达 99.999%,可靠性在行业内首屈一指。
了解有关 Stripe Payments 如何为您的线上和线下付款提供支持的更多信息,或者立即开始使用。
本文中的内容仅供一般信息和教育目的,不应被解释为法律或税务建议。Stripe 不保证或担保文章中信息的准确性、完整性、充分性或时效性。您应该寻求在您的司法管辖区获得执业许可的合格律师或会计师的建议,以就您的特定情况提供建议。