2016-06-10 3 views
3

스트라이프의 invoice_payment.failed 이벤트 웹 후크를 테스트하고 싶습니다. 웹 후크 끝점을 설정하고 스트라이프에서 테스트 데이터를 보내려고했지만 이벤트 ID가 존재하지 않아 작동하지 않습니다. 스트라이프 가이드 라인에 언급 된 몇 가지 해결책이 있습니다. 여기에 내가 본 링크가 있습니다.스트라이프의 invoice_payment.failed 이벤트 테스트

https://support.stripe.com/questions/test-failed-invoice-payment

그것은 계획을 수립 1-2 분으로 설정 trial_end 기간이 고객을 가입하고 고객 객체를 생성하기위한 특정 신용 카드 번호를 사용하도록 알려줍니다. trial_end 기간을 "now"로 설정하고 청구 된 금액 만 사용합니다. invoice_payment.failed 이벤트는 아니지만 제공된 신용 카드 번호를 사용하십시오. 나는 스트라이프에 익숙하지 않아서 trial_end 기간을 1-2 분으로 설정하는 방법과 invoice_payment.failed 이벤트를 정확히 테스트하는 방법을 알고 싶습니다. 나는 PHP에서 일하고있다. 어떤 도움을 주시면 감사하겠습니다.

답변

5

creating a subscription 일 경우 trial_end 매개 변수를 사용하여 시험 기간을 설정할 수 있습니다.

$customer = \Stripe\Customer::create(array(
    "source" => $token, 
    "description" => "Test customer" 
)); 
: 특별한 testing number 4000 0000 0000 0341로 만든 ( Checkout 또는 Stripe.js에서)

  1. 첫째, create a customer 카드 토큰을 다음 invoice.payment_failed 이벤트를 테스트하기 위해

    , 당신은 이런 식으로 뭔가를 할 수

  2. 그런 다음 간단한 평가판 기간을 사용하여 요금제 가입을 만듭니다.

    $subscription = \Stripe\Subscription::create(array(
        "customer" => $customer->id, 
        "plan" => $plan, 
        "trial_end" => strtotime("+1 minute") 
    )); 
    

이렇게하면 1 분의 평가판 기간이 적용됩니다. 1 분 후에 인보이스가 생성되고 약 1 시간 후에 인보이스에 대한 지불이 시도됩니다.

당신이 한 시간 기다리지 않으려면, 당신은 수동으로 retrieve the invoice가 작성 됐어요 수 있습니다 후 trigger the payment attempt :

$invoice = \Stripe\Invoice::retrieve($invoice_id); 
$invoice->pay(); 
+0

내 계획이 먼저 생성 된 다음 고객을 계획에 등록하려고 시도합니다. 고객을 만드는 동안 trial_end 기간을 strtotime ("+ 2 분")으로 설정하려고하면 작동합니까? 나는 아직 그것을 시험해보고있다. – jai

+0

1 시간을 기다리고 싶습니다. 모든 것을 처리하기 위해 API를 사용하고 있습니다. – jai

+0

고객 생성 요청에'plan' 및'trial_end' 매개 변수를 포함시켜 단일 API 호출로 고객과 구독을 생성 할 수 있습니다 . – Ywain

0

그냥 invoice.payment_failed 이벤트 등을 테스트하고 처리하려면 어떤 당신이 할 수있는 만들고 만들 수없는 경우 대시 보드를 스트라이프하고 webhooks 설정 아래에서 필요한 유형의 테스트 이벤트를 보내야합니다.