充电失败会发生什么?条纹

时间:2017-05-25 20:46:46

标签: php stripe-payments

我正在查看条带api和文档,以便草拟一些关于付款不成功时会发生什么的逻辑。 The api shows以下代码包含拒绝卡片时的特定例外情况:

try {
  // Use Stripe's library to make requests...
} catch(\Stripe\Error\Card $e) {
  // Since it's a decline, \Stripe\Error\Card will be caught
  $body = $e->getJsonBody();
  $err  = $body['error'];

  print('Status is:' . $e->getHttpStatus() . "\n");
  print('Type is:' . $err['type'] . "\n");
  print('Code is:' . $err['code'] . "\n");
  // param is '' in this case
  print('Param is:' . $err['param'] . "\n");
  print('Message is:' . $err['message'] . "\n");
} 

但是,如果查看the charge object,它会包含一个结果对象,其属性包含有关费用状态的详细信息(approved_by_network,rejected_by_network,not_sent_to_network和reversed_after_approval)。

Stripe\Charge JSON: {
  "outcome": {
    "network_status": "approved_by_network",
    "reason": null,
    "risk_level": "normal",
    "seller_message": "Payment complete.",
    "type": "authorized"
  }
}

我的问题就变成了,如果在收费被拒绝时抛出异常,你怎么能检查收费对象的结果属性?我目前的想法是检查try catch块中的charge charge对象属性,但是我觉得可能有些东西我不知道或者不完全理解?我想我只是在寻找一些保证,这是处理这个问题的正确方法。

0 个答案:

没有答案