2013-07-16 21 views
6

Mam skonfigurowany skrypt PHP na cronie, który kontaktuje się z Braintree za pośrednictwem interfejsu API w celu sprawdzenia statusu każdej subskrypcji, którą mamy w pliku. Następnie aktualizujemy nasze lokalne rekordy na podstawie statusu subskrypcji klienta. Ponieważ mogę ręcznie anulować subskrypcję z panelu sterowania Braintree, I może przetestować, czy mój skrypt wykrywa anulowane subskrypcje.Jak symulować stan przeterminowania subskrypcji

Jednak nie mogę znaleźć żadnego sposobu na przetestowanie statusu przeterminowania, poza czekaniem na zakończenie cyklu rozliczeniowego. Ponieważ minimalna długość cyklu rozliczeniowego w Braintree wynosi jeden miesiąc, bardzo utrudnia to debugowanie mojego skryptu.

Wiem, że teoretycznie powinienem po prostu zobaczyć inny ciąg dla statusu subskrypcji, ale szukam odtwarzalnego sposobu symulacji stanu zaległości, wraz z dodatnim saldem i wartością dla dniPastDue.

Czy ktoś może pomóc?

$BT_subscription = Braintree_Subscription::find($BT_subscription_id); 
if ($BT_subscription && $BT_subscription instanceof Braintree_Subscription) { 
    if ($BT_subscription->status == 'Past Due' && $BT_subscription->balance > 0) { 
     // ... 

Odpowiedz

12

dostałem następującą odpowiedź od wsparcia Braintree o tym numerze:

Ponieważ nasze środowisko sandbox ma replikować naszego środowiska produkcyjnego nie ma sposobu, aby zmusić subskrypcji przeterminowane. Jednak tutaj jest trochę pracy, która może ułatwić to testowanie:

Aby umieścić subskrypcję w stanie przeszłej zapłaty w piaskownicy, możesz utworzyć subskrypcję z okresem próbnym jednego dnia i ceną 2000 $ . Następnie, po wygaśnięciu jednodniowego okresu próbnego, uruchomi się transakcja, która zakończy się niepowodzeniem z powodu kwoty w dolarach.

cena tag $ 2000 to prawdopodobnie dla Test Amounts for Unsuccessful Transactions do uruchomienia płatności kartą kredytową na niepowodzenie. Przygotowałem test i dokonam jego edycji, jeśli test okaże się nieskuteczny.

+0

Pracuję w Braintree. Tak, stąd pochodzi ta kwota. Powinien działać dobrze. Upuść komentarz tutaj, aby otrzymywać powiadomienia, jeśli masz jakiekolwiek problemy. – agf

+0

Ta metoda działała świetnie! –

+0

Miło to słyszeć. Daj nam znać, jeśli możemy odpowiedzieć i więcej pytań na temat Twojej integracji. – agf

2

Dodanie odpowiedzi Tylera V, a to jest wciąż jedyny sposób, aby go przetestować, niestety.

ze wsparcia:

Dzięki za dotarcia i dziękujemy za cierpliwość. Używając konta sandbox , najkrótszy czas na symulację wyniku to 1 dzień. Kliknąć na poniższy przykład, aby utworzyć stan przeterminowania:

stworzyć plan z prób 1 dzień i $ 2000 cena Tworzenie klienta kartą kredytową Utwórz nową subskrypcję za pomocą planu i klientowi Pierwszy ładunek próba będzie po upływie 1 dnia (po wygaśnięciu testu ) i zakończy się niepowodzeniem Automatyczne ponowne próby będą w +10 i +20 dniach od zaległej subskrypcji. Aby sprawdzić wartości testowe Sandbox, zobacz następującą stronę: . Zaleciłbym, abyś tworzył jednorazowo LOT , więc masz wiele funkcji do pracy; w przeciwnym razie musisz czekać jeden dzień na każdy nowy, aby przejść do zaległych.