# 支払い拒否

支払い拒否と拒否率を下げる方法をご紹介します。

> #### 支払い拒否率を追跡する
> 
> 長期にわたって支払いの拒否率を追跡して、潜在的な不正利用や連携の問題を特定します。全体的なオーソリ率をより明確に把握するには、特有の支払い拒否を分析し、再試行の失敗を分析から除外します。

支払いの失敗はタイプごとに異なる方法で処理する必要があります。どの失敗でも、[ダッシュボード](https://dashboard.stripe.com/payments)または API を使用して支払いの詳細を確認できます。API を使用する場合は、`Charge` オブジェクトの [outcome](https://docs.stripe.com/api/charges/object.md#charge_object-outcome) を確認します。この属性は、支払い失敗のタイプに対応していて、その原因に関する情報が含まれています。

決済が失敗する理由はさまざまであり、これには不正取引防止を目的とした理由も含まれます。Stripe は、対応しているすべての決済手段に関して拒否率の低減に取り組んでいます。ほとんどの場合は連携に影響を与えることなく、カード発行会社やネットワークと協力して承認率の改善に努めています。

支払いが失敗する理由には以下の 3 つがあります。

- [カード発行会社による支払い拒否](https://docs.stripe.com/declines.md#issuer-declines)
- [ブロックされた決済](https://docs.stripe.com/declines.md#blocked-payments)
- [無効な API コール](https://docs.stripe.com/declines.md#invalid-api-calls)

## カード発行会社による支払い拒否

顧客のカード発行会社や決済代行業者が支払いを受け取ると、自動化されたシステムやモデルがその請求を承認するかどうかを決定します。これらのツールは、消費習慣、口座残高、カードデータ(有効期限、住所情報、セキュリティコード) などのシグナルを分析します。

Stripe は、カード以外の支払い方法の支払い拒否もカードの支払い拒否と同様に処理します。Stripe は、支払い拒否に関する情報 (原因が残高不足、カードの紛失または盗難、その他の理由であるかなど) を含むレスポンスコードを送信します。

カード発行会社または決済代行業者が決済を拒否した場合、Stripe が受け取った決済拒否の情報は[Stripe 拒否コード](https://docs.stripe.com/declines/codes.md)を通じて共有されます。この情報はダッシュボードおよび API で確認できます。

カード発行会社が、カード番号の誤りや残高不足など具体的な理由を提供した場合、それらの説明は[ネットワークの支払い拒否コード](https://docs.stripe.com/declines/network-codes.md)として Stripe に返されます。

## ブロックされた支払い

*Stripe Radar* (Stripe Radar helps detect and block fraud for any type of business using machine learning that trains on data across millions of global companies. It’s built into Stripe and requires no additional setup to get started)は、カスタムルールに違反するものやリスクスコアが高いものを含む高リスク決済をブロックします。この自動不正利用防止製品は、お客様からの対応を必要とせずに各決済を評価します。

Stripe が決済をブロックする際、カード発行会社からの承認は取得しません。この予防措置は、不審請求の申し立てにつながる可能性のある不正利用決済の防止に役立ちます。

一部のカードタイプでは、カード発行会社による支払い金額のオーソリが明細書で顧客に示される場合があります。ただし、Stripe では、この金額の請求や、資金の引き落としを行っていません。カード発行会社は通常、数日以内にこのオーソリを顧客の明細書から削除します。

設定したルールによって正当であると認識している決済がブロックされた場合、ダッシュボードでその決済を見つけて**許可リストに追加**をクリックすることでブロックを解除できます。この操作を行っても決済は再試行されません。代わりに、そのリストの属性と一致する今後の決済が他のすべてのルールによってブロックされないよう上書きされます。

> 支払いの詳細ページに**許可リストに追加**ボタンが表示されませんか？この機能をお客様の Radar アカウントに追加するには、[Stripe までご連絡ください](https://support.stripe.com/email)。

API を使用すると、ブロックされた支払いの `outcome` に支払い失敗のタイプとその理由が、評価されたリスクレベルと合わせて格納されます。

```json
...
"outcome": {
  "network_decline_code": null,
  "network_advice_code": null,
  "network_status": "not_sent_to_network",
  "reason": "highest_risk_level",
  "advice_code": "do_not_try_again",
  "risk_level": "highest",
  "seller_message": "Stripe blocked this charge as too risky.",
  "type": "blocked"
},
...
```

[IC+ 料金体系](https://support.stripe.com/questions/understanding-blended-interchange-pricing)をご利用の場合、不要なネットワークコストを回避できるよう、Adaptive Acceptance により特定の決済がブロックされます。たとえば、Adaptive Acceptance は過度な再試行に対するペナルティ料金の発生を防ぎます。さらに、Adaptive Acceptance はオーソリの可能性が極めて低い決済をブロックすることで、ネットワークコストの削減にも貢献します。

```json
...
"outcome": {
  "network_decline_code": null,
  "network_advice_code": null,
  "network_status": "not_sent_to_network",
  "reason": "low_probability_of_authorization",
  "advice_code": "do_not_try_again",
  "risk_level": "normal",
  "seller_message": "Stripe blocked this payment as it is unlikely to be authorized.",
  "type": "blocked"
},
...
```

## 無効な API コール

API に、次のような無効な API コールが表示される場合があります。

```curl
curl https://api.stripe.com/v1/payment_intents \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d amount=2000 \
  -d currency=usd \
  -d payment_method=pm_card_chargeDeclinedIncorrectCvc \
  -d confirm=true
```

無効な API コールによって、次のようなエラーレスポンスが生成されます。

```json
{
  "error": {
    "code": "incorrect_cvc",
    "doc_url": "https://docs.stripe.com/error-codes#incorrect-cvc",
    "message": "Your card's security code is incorrect.",
    "param": "cvc",
    "type": "card_error"
  }
}
```

拒否された決済の結果には、カードネットワークの拒否コードに基づく決済失敗のタイプと理由が含まれます。たとえば、Radar ルール評価で請求がブロックされた場合など、この理由にはカードネットワークのレスポンスコード以外の情報が含まれていることもあります。

```json
...
"outcome": {
  "network_decline_code": "54",
  "network_advice_code": "03",
  "network_status": "declined_by_network",
  "reason": "expired_card",
  "advice_code": "confirm_card_data",
  "risk_level": "normal",
  "seller_message": "The bank returned the decline code `expired_card`.",
  "type": "issuer_declined"
},
...
```

Stripe システムを構築する際は、継続的に[テスト](https://docs.stripe.com/testing.md)して、無効な API コールの原因となる潜在的なバグを特定します。 API コールが無効になると、通常支払いはダッシュボードに表示されません。ただし、いくつかのケースでは支払いが表示されることがあります。

```json
...
"outcome": {
  "network_decline_code": null,
  "network_advice_code": null,
  "network_status": "not_sent_to_network",
  "type": "invalid"
},
...
```

## See also

- [カードの支払い拒否](https://docs.stripe.com/declines/card.md)
- [拒否された決済をテストする](https://docs.stripe.com/testing.md#declined-payments)
- [支払いの返金とキャンセル](https://docs.stripe.com/refunds.md)
