# 反欺诈系统拒绝了交易

当交易在反欺诈系统检查期间被拒绝时，艾克索拉会向Webhook 
URL发送一个包含交易详情的afs_reject类型的Webhook。要接收该Webhook，请联系您的客户成功经理或发送电子邮件至csm@xsolla.com。

在帐户中保存Webhook URL后，您可以授权在Webhook中接收详细信息。为此，请在帐户的设置 > Webhook > 高级设置部分中启用以下开关。


注：
如果是在2025年1月22日或之前注册的发布商帐户，可在设置 &gt; Webhooks &gt; 测试 &gt; 付款 &gt; 高级设置部分中找到这些开关。




    
        开关
        描述
    


    
        显示通过保存的支付方式进行的交易的信息
        信息在Webhook的以下自定义参数中传递：saved_payment_method:0 — 未使用保存的支付方式1 — 进行当前付款时保存了支付方式2 — 使用了之前保存的支付方式payment_type:1 — 一次性支付2 — 定期支付

Endpoint: POST afs-rejected-transaction
Version: 1.0

## Request fields (application/json):

  - `notification_type` (string, required)
    通知类型。

  - `refund_details` (object)
    退款详情（对象）。

  - `refund_details.author` (string)
    退款发起人。根据下表传入字段值：


    
    
        退款发起人
        字段值
    
    
    
    
        游戏（通过API）。
        API
    
    
        帐户用户（自动退款）。
        用户邮箱
    
    
        帐户用户（由艾克索拉客服协助处理）。
        support@xsolla.com
    
    
        艾克索拉（通过艾克索拉客户支持的帮助）。
        support@xsolla.com

  - `refund_details.code` (integer)
    代码ID。


    
    
        代码
        退款理由
        描述
    
    
    
    
        1
        Cancellation by the user request / the game request
        用于从帐户中发起取消的情况。
    
    
        2
        Chargeback
        交易存在退单的情况。
    
    
        3
        Integration error
        用于艾克索拉与游戏之间存在集成问题的情况。这种情况下，我们不建议将用户列入黑名单。
    
    
        4
        Potential fraud – AFS reject
        交易被拒绝，因为艾克索拉反欺诈系统检测到潜在欺诈行为。
    
    
        5
        Test payment
        用于测试交易然后取消的情况。这种情况下，我们不建议将用户列入黑名单。
    
    
        6
        User invoice expired
        用于通过用后付费模式的支付系统进行交易的情况。
    
    
        7
        Fraud notification from PS
        支付被拒绝，因为支付系统检测到潜在欺诈行为。建议：将该用户添加到拦截列表。
    
    
        8
        Cancellation by the PS request
        用于支付系统请求取消的情况。这种情况下，我们不建议将用户列入黑名单。
    
    
        9
        Cancellation by the user request
        用于用户请求取消的情况。可能出于某些原因导致用户对游戏或购买产生不满的情况下发生。这种情况下，我们不建议将用户列入黑名单。
    
    
        10
        Cancellation by the game request
        用于游戏请求取消的情况。这种情况下，我们不建议将用户列入黑名单。
    
    
        11
        Account holder called to report fraud
        帐户所有者声明其并未进行该交易。建议：将该用户添加到拦截列表。
    
    
        12
        Potential fraud – friendly fraud
        合法持卡人对其交易提出争议。
    
    
        13
        Duplicate
        有同一张发票的重复交易。
    
    
        21
        Potential fraud – BIN attack
        一批银行卡被盗用，这些银行卡的BIN号段集中在一个或多个范围内。主要特征是在短时间内大量出现使用同一BIN号段的尝试，并且通常伴随枚举生成的卡号。
    
    
        22
        Potential fraud – monetization fraud
        使用被盗银行卡购买可交易商品，以便转售。
    
    
        23
        Potential fraud – low-scale card fraud
        银行卡被盗用，涉及一个或多个BIN号段。其规模和组织性不如BIN攻击（退款代码21）。
    
    
        24
        Potential fraud – regional price abuse
        滥用区域价格或游戏Key转售机制。用户通常通过虚假申报所在位置或支付方式来利用区域价格区别，以低价获取商品后在价格较高的市场转售。
    
    
        25
        Potential fraud – partner or PS exploit
        凭证被盗和帐户接管⸺欺诈方利用合作伙伴侧或支付系统侧的帐户或集成实施攻击，而不是直接盗刷银行卡。
    
    
        26
        Potential fraud – not definable
        确认存在欺诈行为，但证据不足以确定具体的攻击类型。
    
    
        27
        Fraud notification from PS – linked transactions
        该交易未被支付系统的欺诈报告直接标记，但与其他因欺诈相关原因退款的交易存在关联，例如使用了相同的银行卡或设备。

  - `refund_details.reason` (string)
    退款原因。

  - `settings` (object)
    带有自定义项目设置的对象。

  - `settings.merchant_id` (integer)
    商户ID。

  - `settings.project_id` (integer)
    项目ID。您可以在[帐户](/zh/webhooks/overview/#business-accounts)中项目名称旁找到该参数。

  - `transaction` (object, required)
    交易ID。

  - `transaction.agreement` (integer)
    协议ID。

  - `transaction.dry_run` (integer)
    测试交易。如为测试交易，该参数的值为1；如为真实交易，则不会发送该参数。

  - `transaction.external_id` (string)
    交易外部ID。

  - `transaction.id` (integer)
    交易ID。

  - `user` (object)
    用户详情（对象）。

  - `user.country` (string)
    用户所在国家/地区。使用[ISO 3166-1 alpha-2 标准](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)规定的2字母组合表示国家/地区。

  - `user.email` (string)
    用户电子邮件。

  - `user.id` (string, required)
    用户ID。

  - `user.ip` (string)
    用户 IP 地址。

  - `user.name` (string)
    用户名。

  - `user.phone` (string)
    用户电话号码（采用国际格式）。

  - `user.zip` (string)
    邮编。

## Response 400 fields (application/json):

  - `error` (object)

  - `error.code` (string)

  - `error.message` (string)


## Response 204 fields

## Response 500 fields
