<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ARB payment decline/expiration notifications in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/65658#M39287</link>
    <description>&lt;P&gt;I can also confirm that this is the way things are.&amp;nbsp;It's very difficult to know whether a subscription has failed. If a subscription payment is declined after the first payment, there's currently no way to be notified of that fact. No webhook notification is sent, and the status of the subscription remains as active.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here's my method for detecting a failed subscription transaction:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;For each customer, we save in our db the user's subscription id, subscription status etc.&lt;/LI&gt;&lt;LI&gt;Run a cron task that:&lt;UL&gt;&lt;LI&gt;Does a GetUnsettledTransactionList&amp;nbsp;request to fetch all unsettled transactions&lt;/LI&gt;&lt;LI&gt;For each unsettled transaction with transactionStatus of declined:&lt;UL&gt;&lt;LI&gt;Use the transId to do a&amp;nbsp;GetTransactionDetails request&lt;/LI&gt;&lt;LI&gt;Check if the transaction type is AuthCaptureTransaction (all of our non subscription transactions are AuthOnlyTransactions&amp;nbsp;followed by PriorAuthCaptureTransactions, so we know that an AuthCaptureTransaction is a subscription payment. This probably won't work for everyone.)&lt;/LI&gt;&lt;LI&gt;Get the customer id to fetch the user from our db (you have to pass the customer id to the create subscription request)&lt;/LI&gt;&lt;LI&gt;If the user is marked as active in our db, immdiately send a CancelSubscription request (since auto retry is broken and has unpredictable behavior) then mark the user as terminated in our db&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;This algorithm evolved over months of relying on webhooks to work properly and being sorely disappointed.&amp;nbsp;There's essentially no way to replicate this stuff in sandbox, so you don't find out about it until you shoot yourself in the foot in production. If I could go back to 2017, I would roll my own subscription system with a job scheduler and transaction requests. I would've saved time in the long run from all the time I've spent dealing with arb not working properly. Case in point:&amp;nbsp;&lt;A href="https://community.developer.authorize.net/t5/Integration-and-Testing/Update-ARB-Subscription-Request-Error-E00013/td-p/65313" target="_blank"&gt;this thread&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 09 Jan 2019 20:40:45 GMT</pubDate>
    <dc:creator>Waterhouse</dc:creator>
    <dc:date>2019-01-09T20:40:45Z</dc:date>
    <item>
      <title>ARB payment decline/expiration notifications</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61108#M35609</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Years ago when I started integrating with Authorize.Net there was no programmatic hook into&amp;nbsp;being notified when a recurring payment was declined due to not enough funds or the card has expired. There were just email notifications and the silent post was but it didn't indicate a decline or expiration. I see now that there are Webhooks (which are supposed to replace the silent post) and the Account Updater Service. In the Webhooks documentation I see the following events:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;net.authorize.customer.subscription.suspended&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;net.authorize.customer.subscription.terminated&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;net.authorize.payment.fraud.declined&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;SPAN&gt;So here are my questions:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt;Can Webhooks handle notifications for&amp;nbsp;when recurring payments are declined due to not enough funds available? If so which Webhook event is this?&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Can Webhooks handle notifications&amp;nbsp;for&amp;nbsp;when recurring payments are declined due to an AVS mismatch (such as the credit card holder moved and updated their address&amp;nbsp;with their bank).&amp;nbsp;&amp;nbsp;If so which Webhook event is this?&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Can Webhooks handle notifications&amp;nbsp;for&amp;nbsp;when recurring payments are declined because the credit card has expired?&amp;nbsp;&amp;nbsp;If so which Webhook event is this?&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;Will the Account Updater Service solve number 2 above?&lt;/LI&gt;&lt;LI&gt;Are Webhooks + Account Updater Service the best solution for getting programmatic notifications for the scenarios I described above?&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;I see in the ARB documentation it says:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;"Suspended -- When the credit card information for a subscription expires, the subscription becomes suspended. A suspended subscription is not charged until the merchant corrects the problem. The merchant has until the next run date to correct the problem, or the subscription is terminated."&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;So&amp;nbsp;that suggests&amp;nbsp;that the Webhook event&amp;nbsp;&lt;EM&gt;net.authorize.customer.subscription.suspended&lt;/EM&gt; would solve&amp;nbsp;number 3 above (credit card expired) but not for the account not having enough&amp;nbsp;funds available...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help is much appreciated.&lt;/P&gt;</description>
      <pubDate>Sun, 07 Jan 2018 22:56:19 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61108#M35609</guid>
      <dc:creator>blackwood821</dc:creator>
      <dc:date>2018-01-07T22:56:19Z</dc:date>
    </item>
    <item>
      <title>Re: ARB payment decline/expiration notifications</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61119#M35615</link>
      <description>&lt;P&gt;&lt;FONT color="#0000FF"&gt;Hi,&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000FF"&gt;Here's the answer to the questions:&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt;Can Webhooks handle notifications for&amp;nbsp;when recurring payments are declined due to not enough funds available? If so which Webhook event is this?&lt;/SPAN&gt;&lt;FONT color="#0000FF"&gt;&lt;SPAN&gt;If you enable 'Automatic Retry' functionality then whenever recurring payments are declined - Subscription will be suspended and '&lt;/SPAN&gt;&lt;SPAN&gt;net.authorize.customer.subscription.suspended' webhook will be sendout.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Can Webhooks handle notifications&amp;nbsp;for&amp;nbsp;when recurring payments are declined due to an AVS mismatch (such as the credit card holder moved and updated their address&amp;nbsp;with their bank).&amp;nbsp;&amp;nbsp;If so which Webhook event is this?&lt;/SPAN&gt;&lt;FONT color="#0000FF"&gt;&lt;SPAN&gt;If you enable 'Automatic Retry' functionality then whenever recurring payments are declined due to AVS mismatch - Subscription will be suspended and 'net.authorize.customer.subscription.suspended' webhook will be sendout.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Can Webhooks handle notifications&amp;nbsp;for&amp;nbsp;when recurring payments are declined because the credit card has expired?&amp;nbsp;&amp;nbsp;If so which Webhook event is this?&lt;/SPAN&gt;&lt;FONT color="#0000FF"&gt;&lt;SPAN&gt;Currently this is not supported.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;Are Webhooks + Account Updater Service the best solution for getting programmatic notifications for the scenarios I described above? &lt;FONT color="#0000FF"&gt;Yes, Webhook is the good feature for programmatic notfication. As far as I know, Account Updater does not send out notification.&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jan 2018 18:28:20 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61119#M35615</guid>
      <dc:creator>ZS</dc:creator>
      <dc:date>2018-01-08T18:28:20Z</dc:date>
    </item>
    <item>
      <title>Re: ARB payment decline/expiration notifications</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61160#M35651</link>
      <description>&lt;P&gt;Thank you for answering my questions. In regard to Account Updater, I&amp;nbsp;don't need it to send out notifications, I was just pointing out that it would help reduce the frequency of scenario 2 (AVS mismatch). Is that correct? Here's another question for you:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Since the webhook event&amp;nbsp;&lt;EM&gt;net.authorize.customer.subscription.suspended&lt;/EM&gt; is used for arbitrary declines and declines due to AVS mismatch (potential fraudulent activity), does the webhook notification contain enough information so that I can know the reason for the decline?&lt;/LI&gt;&lt;LI&gt;You said there is no webhook event for a decline due to an expired card, but you also said that&amp;nbsp;&lt;SPAN&gt;the webhook event&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;net.authorize.customer.subscription.suspended&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;occurs on declines so wouldn't this include a decline due to an expired card? If not, how can one handle the scenario when a recurring payment gets declined due to an expired card?&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;If&amp;nbsp;&lt;EM&gt;Automatic&lt;/EM&gt;&amp;nbsp;&lt;EM&gt;Retry&amp;nbsp;&lt;/EM&gt;is disabled, does that mean recurring payments that get declined won't result in a webhook notification? In other words, is it correct to say that the webhook event&amp;nbsp;&lt;EM&gt;net.authorize.customer.subscription.suspended&lt;/EM&gt; will only fire if&amp;nbsp;&lt;EM&gt;Automatic Retry&lt;/EM&gt; is enabled?&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;In regard to number 2 above (and from my original post), &lt;/SPAN&gt;&lt;SPAN&gt;the ARB documentation it says:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;"Suspended -- When the credit card information for a subscription expires, the subscription becomes suspended. A suspended subscription is not charged until the merchant corrects the problem. The merchant has until the next run date to correct the problem, or the subscription is terminated."&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;So wouldn't that mean that when a recurring payment&amp;nbsp;gets declined due to an expired card that the subscription would then be suspended, which would trigger the&amp;nbsp;&lt;EM&gt;net.authorize.customer.subscription.suspended&lt;/EM&gt; webhook?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 10 Jan 2018 15:52:53 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61160#M35651</guid>
      <dc:creator>blackwood821</dc:creator>
      <dc:date>2018-01-10T15:52:53Z</dc:date>
    </item>
    <item>
      <title>Re: ARB payment decline/expiration notifications</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61179#M35669</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/23043"&gt;@blackwood821&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/23011"&gt;@ZS&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please find some of the answers below&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1) You can use the getSubscription API now to get details of last 20 transactions associated with it . The&amp;nbsp; response will contain the&amp;nbsp; error response for failures .&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://developer.authorize.net/api/reference/index.html#recurring-billing-get-subscription&amp;nbsp;" target="_blank"&gt;https://developer.authorize.net/api/reference/index.html#recurring-billing-get-subscription&amp;nbsp;&lt;/A&gt;&lt;/P&gt;
&lt;P class="p1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2)&amp;nbsp;&lt;SPAN class="s1"&gt;we do send out&amp;nbsp; webhook '&lt;I&gt;net.authorize.customer.subscription.suspended&lt;/I&gt;' when decline is due to expired card&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="s1"&gt;3) Webhooks are triggered&amp;nbsp; irrespective of AutoRetry enable/disable .&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Jan 2018 01:02:27 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61179#M35669</guid>
      <dc:creator>Anurag</dc:creator>
      <dc:date>2018-01-11T01:02:27Z</dc:date>
    </item>
    <item>
      <title>Re: ARB payment decline/expiration notifications</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61181#M35671</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for the reply and for the clarification. So to confirm, any time a recurring payment gets declined (for whatever reason: card expired, insufficient funds, AVS mismatch, etc.) the status of the subscription will be automatically set to&amp;nbsp;&lt;EM&gt;suspended &lt;/EM&gt;and if I register for the&lt;EM&gt;&amp;nbsp;&lt;EM&gt;&lt;I&gt;net.authorize.customer.subscription.suspended &lt;/I&gt;&lt;/EM&gt;&lt;/EM&gt;webhook event then it will be triggered regardless of Automatic Retry. Is this correct? Also, you said I can call&amp;nbsp;&lt;EM&gt;getSubscription&lt;/EM&gt;&amp;nbsp;to retrieve the reason for the decline so I'd like to confirm that that is the only way to get it and the reason for the decline is not included in the webhook event? Thanks.&lt;/P&gt;</description>
      <pubDate>Thu, 11 Jan 2018 07:02:14 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61181#M35671</guid>
      <dc:creator>blackwood821</dc:creator>
      <dc:date>2018-01-11T07:02:14Z</dc:date>
    </item>
    <item>
      <title>Re: ARB payment decline/expiration notifications</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61183#M35673</link>
      <description>&lt;P&gt;Yes thats correct .&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please make sure to read through the details on AutoRetry option at&amp;nbsp; &lt;A href="https://support.authorize.net/authkb/index?page=content&amp;amp;id=A1774&amp;amp;cat=A_AUTOMATED_RECURRING_BILLING&amp;amp;actp=LIST" target="_blank"&gt;https://support.authorize.net/authkb/index?page=content&amp;amp;id=A1774&amp;amp;cat=A_AUTOMATED_RECURRING_BILLING&amp;amp;actp=LIST&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;before enabling it .&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The getSubscription API call passed with&amp;nbsp;&lt;SPAN&gt;includeTransactions as true will return last 20 transactions of the subscription .&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;In coming months we are going to add support for webhook events for payment failures which will be much better to get reason for the failure of payment transaction.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Jan 2018 07:19:21 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61183#M35673</guid>
      <dc:creator>Anurag</dc:creator>
      <dc:date>2018-01-11T07:19:21Z</dc:date>
    </item>
    <item>
      <title>Re: ARB payment decline/expiration notifications</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61222#M35710</link>
      <description>&lt;P&gt;Thank for the info. Yes, that would be great if the webhook could provide information on the reason for the decline to eliminate the additional API call.&lt;/P&gt;</description>
      <pubDate>Sun, 14 Jan 2018 01:28:13 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61222#M35710</guid>
      <dc:creator>blackwood821</dc:creator>
      <dc:date>2018-01-14T01:28:13Z</dc:date>
    </item>
    <item>
      <title>Re: ARB payment decline/expiration notifications</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61491#M35928</link>
      <description>&lt;P&gt;&lt;SPAN&gt;"So to confirm, any time a recurring payment gets declined (for whatever reason: card expired, insufficient funds, AVS mismatch, etc.) the status of the subscription will be automatically set to&amp;nbsp;&lt;EM&gt;suspended&lt;SPAN&gt;&amp;nbsp;&lt;SPAN&gt;and if I register for the&lt;EM&gt;&amp;nbsp;&lt;I&gt;net.authorize.customer.subscription.suspended&lt;SPAN&gt;&amp;nbsp;&lt;SPAN&gt;webhook event then it will be triggered regardless of Automatic Retry. Is this correct?" -&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;"Yes thats correct . "&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Based on my experience this is NOT correct.&amp;nbsp; If the FIRST payment of the subscription gets declined, the subscription is suspended, if its the 2nd, 3rd, etc. NOTHING happens at all.&amp;nbsp; No webhooks about the decline and the subscription remains active and doesn't try again until next month, where it usually fails and doesn't notify you again.&lt;/P&gt;</description>
      <pubDate>Fri, 02 Feb 2018 22:14:55 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61491#M35928</guid>
      <dc:creator>CoreyC</dc:creator>
      <dc:date>2018-02-02T22:14:55Z</dc:date>
    </item>
    <item>
      <title>Re: ARB payment decline/expiration notifications</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61495#M35932</link>
      <description>&lt;P&gt;"&lt;SPAN&gt;Based on my experience this is NOT correct.&amp;nbsp; If the FIRST payment of the subscription gets declined, the subscription is suspended, if its the 2nd, 3rd, etc. NOTHING happens at all.&amp;nbsp; No webhooks about the decline and the subscription remains active and doesn't try again until next month, where it usually fails and doesn't notify you again."&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Well that would be quite problematic if that's the case. Thanks for your input.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;A href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/21382" target="_blank"&gt;@Anurag&lt;/A&gt;&amp;nbsp;can you&amp;nbsp;validate this?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 03 Feb 2018 04:22:39 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/61495#M35932</guid>
      <dc:creator>blackwood821</dc:creator>
      <dc:date>2018-02-03T04:22:39Z</dc:date>
    </item>
    <item>
      <title>Re: ARB payment decline/expiration notifications</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/64575#M38431</link>
      <description>&lt;P&gt;&lt;A href="https://community.developer.authorize.net/t5/user/viewprofilepage/user-id/21382" target="_blank"&gt;@Anurag&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;can you&amp;nbsp;validate this?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 22 Sep 2018 20:50:44 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/64575#M38431</guid>
      <dc:creator>blackwood821</dc:creator>
      <dc:date>2018-09-22T20:50:44Z</dc:date>
    </item>
    <item>
      <title>Re: ARB payment decline/expiration notifications</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/65630#M39261</link>
      <description>&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/21382"&gt;@Anurag&lt;/a&gt;&amp;nbsp;can you verify the behavior that&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/22246"&gt;@CoreyC&lt;/a&gt;&amp;nbsp;mentioned?&lt;/P&gt;</description>
      <pubDate>Mon, 07 Jan 2019 14:51:41 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/65630#M39261</guid>
      <dc:creator>blackwood821</dc:creator>
      <dc:date>2019-01-07T14:51:41Z</dc:date>
    </item>
    <item>
      <title>Re: ARB payment decline/expiration notifications</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/65654#M39284</link>
      <description>&lt;P&gt;I can also verify that the webhooks are broken, and have been for at least a year - Auth.net seems to be uninterested in actually doing anything about it, which is a real huge problem for the business that I do work for - they have sent out subscription products that *haven't* been paid for because of the broken Webhooks situation, and are left trying to get the customer to pay for the subscription.&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/21382"&gt;@Anurag&lt;/a&gt;&amp;nbsp;is there any update on this?&amp;nbsp; Why would you guys leave something in production broken like this?&amp;nbsp; This is costing real time, money, and headaches for my client - and they are considering dropping authorizet.net altogether as a result, and they aren't a small client.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It's extremely frustrating that I've seen several threads on this with promises to fix it and it hasn't be fixed.&amp;nbsp; Please, can you fix this already? :/&lt;/P&gt;</description>
      <pubDate>Wed, 09 Jan 2019 15:24:12 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/65654#M39284</guid>
      <dc:creator>fbliss</dc:creator>
      <dc:date>2019-01-09T15:24:12Z</dc:date>
    </item>
    <item>
      <title>Re: ARB payment decline/expiration notifications</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/65658#M39287</link>
      <description>&lt;P&gt;I can also confirm that this is the way things are.&amp;nbsp;It's very difficult to know whether a subscription has failed. If a subscription payment is declined after the first payment, there's currently no way to be notified of that fact. No webhook notification is sent, and the status of the subscription remains as active.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here's my method for detecting a failed subscription transaction:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;For each customer, we save in our db the user's subscription id, subscription status etc.&lt;/LI&gt;&lt;LI&gt;Run a cron task that:&lt;UL&gt;&lt;LI&gt;Does a GetUnsettledTransactionList&amp;nbsp;request to fetch all unsettled transactions&lt;/LI&gt;&lt;LI&gt;For each unsettled transaction with transactionStatus of declined:&lt;UL&gt;&lt;LI&gt;Use the transId to do a&amp;nbsp;GetTransactionDetails request&lt;/LI&gt;&lt;LI&gt;Check if the transaction type is AuthCaptureTransaction (all of our non subscription transactions are AuthOnlyTransactions&amp;nbsp;followed by PriorAuthCaptureTransactions, so we know that an AuthCaptureTransaction is a subscription payment. This probably won't work for everyone.)&lt;/LI&gt;&lt;LI&gt;Get the customer id to fetch the user from our db (you have to pass the customer id to the create subscription request)&lt;/LI&gt;&lt;LI&gt;If the user is marked as active in our db, immdiately send a CancelSubscription request (since auto retry is broken and has unpredictable behavior) then mark the user as terminated in our db&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;This algorithm evolved over months of relying on webhooks to work properly and being sorely disappointed.&amp;nbsp;There's essentially no way to replicate this stuff in sandbox, so you don't find out about it until you shoot yourself in the foot in production. If I could go back to 2017, I would roll my own subscription system with a job scheduler and transaction requests. I would've saved time in the long run from all the time I've spent dealing with arb not working properly. Case in point:&amp;nbsp;&lt;A href="https://community.developer.authorize.net/t5/Integration-and-Testing/Update-ARB-Subscription-Request-Error-E00013/td-p/65313" target="_blank"&gt;this thread&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Jan 2019 20:40:45 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/65658#M39287</guid>
      <dc:creator>Waterhouse</dc:creator>
      <dc:date>2019-01-09T20:40:45Z</dc:date>
    </item>
    <item>
      <title>Re: ARB payment decline/expiration notifications</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/66063#M39655</link>
      <description>&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/28002"&gt;@fbliss&lt;/a&gt;&amp;nbsp;Thanks for confirming your results. I feel your frustration as I'm in the same boat.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/27500"&gt;@Waterhouse&lt;/a&gt;&amp;nbsp;Thanks for also confirming the same behavior of webhooks. That is not what I was hoping to be confirmed but looks like 3 of you have now confirmed that webhooks don't notify you of declines after the first subscription payment which is incredibly unfortunate. Thanks for sharing your workaround for this. I might end up doing something similar if we don't hear from Authorize.Net on this thread which is also quite&amp;nbsp;&lt;SPAN&gt;aggravating&lt;/SPAN&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/21382"&gt;@Anurag&lt;/a&gt;&amp;nbsp;Can you please comment on this thread?&lt;/P&gt;</description>
      <pubDate>Fri, 25 Jan 2019 04:55:13 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/66063#M39655</guid>
      <dc:creator>blackwood821</dc:creator>
      <dc:date>2019-01-25T04:55:13Z</dc:date>
    </item>
    <item>
      <title>Re: ARB payment decline/expiration notifications</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/67598#M40976</link>
      <description>&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/21382"&gt;@Anurag&lt;/a&gt;&amp;nbsp;It's been 15 months and we still haven't heard back from you or anyone at Authorize.Net on this issue. Can someone &lt;STRONG&gt;please&lt;/STRONG&gt; address this webhook issue??&lt;/P&gt;</description>
      <pubDate>Fri, 03 May 2019 12:52:53 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/67598#M40976</guid>
      <dc:creator>blackwood821</dc:creator>
      <dc:date>2019-05-03T12:52:53Z</dc:date>
    </item>
    <item>
      <title>Re: ARB payment decline/expiration notifications</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/69030#M42126</link>
      <description>&lt;P&gt;The documentation on this subject is a disaster area and there does not appear to be any way to force a test webhook transaction for something like a subscription cancel - just the&amp;nbsp;&lt;STRONG&gt;/pings&lt;/STRONG&gt; endpoint.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This thread is enough to make us regret moving to Authorize.net. Could someone from Authorize.net weigh on how this is supposed to work?&lt;/P&gt;</description>
      <pubDate>Tue, 10 Sep 2019 21:52:15 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/ARB-payment-decline-expiration-notifications/m-p/69030#M42126</guid>
      <dc:creator>inLeague</dc:creator>
      <dc:date>2019-09-10T21:52:15Z</dc:date>
    </item>
  </channel>
</rss>

