2016-07-07 2 views
2

저는 Stripe으로 처음으로 일하고 있습니다. 독립형 계정을 사용하고 있습니다. 플랫폼 계정도 있습니다. 내 웹 사이트에서 스트라이프 계정이 다른 많은 사람들이 다양한 기부자가 기부 할 수있는 캠페인을 시작할 것입니다. 각 캠페인 소유자는 별도의 스트라이프 계정을 가지고 있으며 플랫폼은 캠페인 소유자의 스트라이프 계정을 통해 청구됩니다.데이터를 스트라이프에 저장하여 웹 후크 데이터의 일부로 다시 보내시겠습니까?

그렇다면 플랫폼 계정은 각 캠페인 소유자의 Stripe 계정을 통해 여러 캠페인에 대해 비용을 청구하게됩니다. 내 문제는 웹 후크와 관련이 있습니다. 한 가지 기억해야 할 점은 각 캠페인에는 데이터베이스에 연결된 ID가 있으며 각 캠페인 소유자의 스트라이프 계정에 대한 API 키를 저장하고이 ID와 연결한다는 것입니다. 웹 후크 끝 지점에서 웹 후크에서 스트라이프 데이터를 얻기 위해 내가 좋아하는 명령문과 연결된 계정의 API 키를 설정해야합니다 :

\Stripe\Stripe::setApiKey("api key of stand alone account"); 
$input = @file_get_contents("php://input"); 

이 가진 문제는 하나 개의 웹 후크 끝 지점이 거기입니다 스트라이프 계정의 번호. 위의 문장에서 API 키를 하드 코딩 할 수 없습니다. ID를 사용하여 데이터베이스에서 적절한 API 키를 가져와야합니다.

그러나 스트라이프가 웹 후크 끝점을 호출 할 때 적절한 API 키를 가져오고 API 키를 설정하기 위해 캠페인 ID가 필요하지 않습니다. 이 문제를 해결할 솔루션이 있습니까?

답변

1

각 계정의 API 키를 저장할 필요가 없습니다. 저장해야하는 유일한 정보는 계정 ID ("acct_...")입니다. 독립형 계정을 사용하는 경우매개 변수의 OAuth 플로우 last step에 계정 ID가 제공됩니다.

그런 다음 자신의 (플랫폼의) API 키와 Stripe-Account 헤더를 사용하여이 계정 대신 API 요청을 실행할 수 있습니다.

웹 훅과 관련하여 "Connect"엔드 포인트를 통해 서버로 전송 된 이벤트에는 계정 ID가있는 user_id 필드가 포함됩니다. 따라서 다음과 같이 할 수 있습니다.

\Stripe\Stripe::setApiKey("PLATFORM_API_KEY"); 

$input = @file_get_contents("php://input"); 
$event_json = json_decode($input); 
$user_id = $event_json->user_id; 

// if you need to send an API request on behalf of this account, 
// for example if you want to verify the event by fetching it from 
// Stripe, you can use the Stripe-Account header: 
$event = \Stripe\Event::retrieve(
    $event_json->id, 
    array("stripe_account" => $user_id) 
); 
+0

감사 Ywain. 나는 내일 먼저 그것을 시도 할 것이다. 사무실 시간은 10 분 후에 끝나고 있습니다. 나는 내일 아침에 그것을 먼저 시도 할 것이다. – jai

+0

연결된 계정에서 이벤트가 발생하고 있습니다. 또는 캠페인 소유자의 스트라이프 계정과 데이터가 내 서버의 종점에 전송되고 있습니다. PLATFORM_API_KEY을 (를) 계속 사용할 수 있습니까? – jai

+0

예, 가능합니다. 각 계정의 API 키를 저장하는 것을 전혀 신경 쓰지 않아도됩니다. 내가 설명한 것처럼 항상 자신의 API 키와'Stripe-Account' 헤더를 사용해야합니다. – Ywain