{"action":"created","issue":{"url":"https://api.github.com/repos/spookylukey/django-paypal/issues/78","labels_url":"https://api.github.com/repos/spookylukey/django-paypal/issues/78/labels{/name}","comments_url":"https://api.github.com/repos/spookylukey/django-paypal/issues/78/comments","events_url":"https://api.github.com/repos/spookylukey/django-paypal/issues/78/events","html_url":"https://github.com/spookylukey/django-paypal/issues/78","id":56829897,"number":78,"title":"pro PaymentForm doDirectPayment not providing access to PayPalFailure","user":{"login":"cspinelive","id":1808543,"avatar_url":"https://avatars.githubusercontent.com/u/1808543?v=3","gravatar_id":"","url":"https://api.github.com/users/cspinelive","html_url":"https://github.com/cspinelive","followers_url":"https://api.github.com/users/cspinelive/followers","following_url":"https://api.github.com/users/cspinelive/following{/other_user}","gists_url":"https://api.github.com/users/cspinelive/gists{/gist_id}","starred_url":"https://api.github.com/users/cspinelive/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cspinelive/subscriptions","organizations_url":"https://api.github.com/users/cspinelive/orgs","repos_url":"https://api.github.com/users/cspinelive/repos","events_url":"https://api.github.com/users/cspinelive/events{/privacy}","received_events_url":"https://api.github.com/users/cspinelive/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-02-06T16:01:14Z","updated_at":"2015-02-09T20:34:13Z","closed_at":"2015-02-09T12:05:31Z","body":"Is there a suggested way to gain access to the reason a doDirectPayment or createRecurringPaymentsProfile call has failed.  Currently a PayPalFailure is raised and swallowed by the PaymentForm.\r\n\r\nPerhaps return the nvp_obj itself on success instead of True and raise the error instead of returning  False so our app can show a customized error message to the user about why paypal rejected the payment"},"comment":{"url":"https://api.github.com/repos/spookylukey/django-paypal/issues/comments/73584568","html_url":"https://github.com/spookylukey/django-paypal/issues/78#issuecomment-73584568","issue_url":"https://api.github.com/repos/spookylukey/django-paypal/issues/78","id":73584568,"user":{"login":"cspinelive","id":1808543,"avatar_url":"https://avatars.githubusercontent.com/u/1808543?v=3","gravatar_id":"","url":"https://api.github.com/users/cspinelive","html_url":"https://github.com/cspinelive","followers_url":"https://api.github.com/users/cspinelive/followers","following_url":"https://api.github.com/users/cspinelive/following{/other_user}","gists_url":"https://api.github.com/users/cspinelive/gists{/gist_id}","starred_url":"https://api.github.com/users/cspinelive/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cspinelive/subscriptions","organizations_url":"https://api.github.com/users/cspinelive/orgs","repos_url":"https://api.github.com/users/cspinelive/repos","events_url":"https://api.github.com/users/cspinelive/events{/privacy}","received_events_url":"https://api.github.com/users/cspinelive/received_events","type":"User","site_admin":false},"created_at":"2015-02-09T20:34:13Z","updated_at":"2015-02-09T20:34:13Z","body":"On second look.  doDirectPayment is in the model and is the one raising the PayPalFailure(nvp_obj.flag_info) exception before it gets to the form.\r\n\r\nIf it included the entire nvp_obj instead of only the flag_info.  Maybe I'm missing something, but I don't think dodirectpayment offers any way to get at the error code paypal is sending back."}}