2012-11-01 14 views
8

Niedawno zmieniłem przetwarzanie płatności na Stripe. Muszę teraz utworzyć raport dla naszego działu finansowego, który pokazuje zestawienie transakcji w określonym zakresie dat. Zacząłem tworzyć strony WWW proste PHP (i przy użyciu biblioteki Stripe PHP), które dadzą następujące podsumowania:Tworzenie raportu podsumowania pasków

  • Hrabia transakcja
  • Kwota transakcji
  • Hrabia Zwrot
  • Kwota zwrotu
  • Opłaty
  • netto

mam pewne kłopoty fi wyjaśnienie sposobu prawidłowego odpytywania opłat w aplikacji Stripe dla celów raportowania.

wiem, że mogę pobierać opłaty z:

$charges = Stripe_Charge::all(); 

I od zwróconego zestawu opłat, mogę obliczyć podsumowanie informacji, że muszę w raporcie. Zwróci mi to jednak maksymalnie 100 opłat i nie wiem, jak zwrócić opłaty w określonym zakresie dat.

Mam nadzieję, że bardziej doświadczeni programiści Stripe mogą wskazać mi prawidłową metodę tworzenia raportu, którego potrzebuję.

Jak mogę zwrócić wszystkie opłaty w określonym zakresie dat?

Czy istnieje lepszy sposób na uzyskanie tej informacji podsumowującej od Stripe?

Odpowiedz

0

Otrzymałem potwierdzenie od pracownika Stripe, że tylko dwie opcje są w rzeczywistości tymi opisanymi w odpowiedziach od @dwhalen i @Saikat Chakrabarti.

Cytując pracownika paskiem do same question I asked on Stripe:

Poza opcjami które opisano (pobierania wszystkich opłat, lub śledzenia w bazie danych jako koszty przyjść) nie ma żadnego alternatywny sposób produkuje statystyki, które chcesz tam.

1

Możesz dokonać paginacji opłat za pomocą parametrów count i offset (udokumentowanych pod numerem https://stripe.com/docs/api?lang=php#list_charges). Sugerowałbym użycie ich do przetworzenia 100 ładunków naraz. Następnie możesz przerwać przeglądanie swoich obciążeń, gdy otrzymasz opłatę przekraczającą zakres dat.

+1

Już rozważałem to rozwiązanie, ale może to być wyjątkowo nieefektywne. Załóżmy, że szukam 2 dni zarzutów, które miały miejsce 6 miesięcy temu. Nie byłoby nieprawdopodobne, by tysiące próśb wysyłanych do serwerów Stripe, zanim otrzymam prawidłowe opłaty. Doceniam tę myśl, ale nie jest ona wystarczająco solidna, aby skutecznie poradzić sobie z moją sytuacją. –

+0

@StephenWatkins można użyć utworzonego parametru z gt/lt jak udokumentowano tutaj pod argumentami potomnymi dla stworzonych - https://stripe.com/docs/api?lang=php#list_charges – bryceadams

3

Można użyć numeru webhooks, aby otrzymywać powiadomienia o wystąpieniu zdarzenia charge.succeeded lub charge.refunded i przechowywać odpowiednie informacje w kontrolowanej bazie danych. Zapewni to elastyczność przy tworzeniu raportów, których potrzebujesz. Opłaty, które już wystąpiły jako plik CSV, możesz pobrać z pulpitu sterowania paskiem.

+0

Tak, jest to opcja. Miałem nadzieję, że uda mi się uciec bez konieczności zarządzania tymi danymi na moim własnym serwerze/bazie danych. –

-1

można użyć offsetu jak

$return = Stripe_Charge::all(array("count" => 100, 'offset' => 0)); // set count 
$return = Stripe_Charge::all(array("count" => 100, 'offset' => 100)); // set count 
$return = Stripe_Charge::all(array("count" => 100, 'offset' => 200)); // set count 
0

zrealizować ten jest stary-owski, ale ..to jest teraz możliwe, przykład php:

$charges=Stripe_Charge::all(array("created" => array("gt" => $unix_time),"limit" => 100)); 
+0

Czy znasz odpowiednik Pythona dla tego połączenia? – MeLight