3DS认证

在安全性和易用性之间找到平衡点,帮助防止欺诈并满足强客户身份验证 (SCA) 要求。

概述

3DS(3D Secure)认证是一种增强的安全协议,旨在为在线支付提供额外的安全层。通过3DS认证,持卡人需要在支付过程中通过发卡银行的验证,从而减少欺诈风险并提高交易安全性。FuturePay 的支付解决方案支持3DS认证,帮助商家和用户确保每笔交易的安全。

3DS认证流程

  1. 交易初始化

    • 用户在商家网站或应用中选择商品并进行结算,输入支付信息后,系统生成一个支付请求并发送至支付网关。
  2. 3DS认证触发

    • 支付网关检测到需要进行3DS认证的交易,自动重定向用户到发卡银行的3DS验证页面。
  3. 用户验证

    • 用户在发卡银行的3DS验证页面输入密码、动态验证码或使用生物识别(如指纹、面部识别)进行身份验证。
  4. 验证结果返回

    • 验证通过后,发卡银行将结果返回至支付网关,系统继续处理支付请求。
    • 如果验证失败或用户未完成验证,支付请求将被拒绝,系统通知用户并提供相应的处理建议。
  5. 交易完成

    • 支付网关接收到验证结果后,完成支付交易并将结果返回给商家系统,商家系统更新订单状态并通知用户支付结果。

集成3DS认证

  1. 准备工作

    • 确保已与我们的支付网关完成集成,并获得商户ID和API密钥。
    • 在商户后台启用3DS认证功能,并进行必要的配置。
  2. 集成步骤

    • API调用:在支付请求中增加3DS认证参数,调用我们的支付API触发3DS流程。
    • 重定向处理:接收并处理支付网关返回的重定向URL,将用户重定向至发卡银行的3DS验证页面。
    • 回调处理:配置3DS认证完成后的回调URL,接收发卡银行返回的验证结果,并继续处理支付请求。
  3. 代码示例

    import requests
    
    # 1. 发起支付请求,包含3DS认证参数
    payment_request = {
        "amount": 100.00,
        "currency": "USD",
        "card_number": "4111111111111111",
        "expiry_date": "12/24",
        "cvv": "123",
        "3ds_required": True,
        "callback_url": "https://yourdomain.com/3ds-callback"
    }
    
    response = requests.post("https://api.paymentgateway.com/v1/payments", json=payment_request)
    
    # 2. 处理支付网关返回的重定向URL
    if response.status_code == 200 and "redirect_url" in response.json():
        redirect_url = response.json()["redirect_url"]
        print("Redirect user to:", redirect_url)
    
    # 3. 在回调URL处理3DS认证结果
    @app.route('/3ds-callback', methods=['POST'])
    def handle_3ds_callback():
        result = request.json()
        if result["status"] == "success":
            # 继续处理支付
            print("3DS authentication successful")
        else:
            # 处理失败情况
            print("3DS authentication failed")
    
  4. 测试和验证

    • 在测试环境中模拟3DS认证流程,确保集成正确无误。
    • 使用我们的测试卡和模拟发卡银行进行全面测试,验证不同的3DS验证场景(如成功、失败、超时等)。

安全和合规性

  1. 数据保护

    • 确保支付数据在传输和存储过程中采用SSL/TLS加密。
    • 遵循PCI DSS(支付卡行业数据安全标准)要求,保护持卡人信息。
  2. 用户隐私

    • 在进行3DS认证时,不收集或存储用户的验证信息(如密码、验证码)。
    • 确保用户隐私和数据安全符合GDPR(通用数据保护条例)等相关法规。