Handle Phortune charge failures cleanly

Summary:
Ref T2787. Currently, we kill a cart and dead-end the workflow on a charge failure.

Instead, fail the charge and reset the cart so the user can try using a valid payment instrument like a normal checkout workflow would.

Some shakiness/smoothing on WePay for the moment; PayPal is still made up since we don't have a "Hold" state yet.

Test Plan: {F215214}

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T2787

Differential Revision: https://secure.phabricator.com/D10666
This commit is contained in:
epriestley
2014-10-08 17:23:02 -07:00
parent c0848bca6d
commit ad991b0197
5 changed files with 110 additions and 23 deletions

View File

@@ -518,7 +518,7 @@ abstract class PhabricatorController extends AphrontController {
*
* @return AphrontDialogView New dialog.
*/
protected function newDialog() {
public function newDialog() {
$submit_uri = new PhutilURI($this->getRequest()->getRequestURI());
$submit_uri = $submit_uri->getPath();