/** * Subscription payment failed. * * 'payload' => array ( * 'name' => '', // Subscription name * 'amount' => 00.00, // Subscription price * 'status' => 'suspended', // Subscription status * 'profile' => array ( * 'customerProfileId' => 123, * 'customerPaymentProfileId' => 123, * ), * 'transactionDetails" => array ( * 'transId': 123, * 'error': 'This transaction has been declined.', // Transaction error * 'submitTimeUTC": "2021-04-09T09:29:27.257" // Transaction time * ), * 'entityName' => 'subscription', * 'id' => '123', // Subscription ID. * ) * */ case 'net.authorize.customer.subscription.failed' : $subscription_id = 'anet_' . $event_json['payload']['id']; $membership = rcp_get_membership_by( 'gateway_subscription_id', $subscription_id ); rcp_log( sprintf( 'Processing net.authorize.customer.subscription.failed event type for subscription ID %s.', $subscription_id ) ); if ( empty( $membership ) ) { rcp_log( 'Exiting Authorize.net webhook - unable to find membership.' ); die(); } if ( ! $membership->is_active() ) { rcp_log( sprintf( 'Exiting Authorize.net webhook - membership #%d is not active.', $membership->get_id() ) ); die(); } $member = $this->membership->get_customer()->get_member(); do_action( 'rcp_recurring_payment_failed', $member, $this ); do_action( 'rcp_authorizenet_silent_post_error', $member, $this ); break;