Skip to content
Snippets Groups Projects
Commit 30fe27e1 authored by mattwire's avatar mattwire
Browse files

Add StartImport event

parent 096bff37
No related branches found
No related tags found
No related merge requests found
<?php
/*
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC. All rights reserved. |
| |
| This work is published under the GNU AGPLv3 license with some |
| permitted exceptions and without any warranty. For full license |
| and copyright information, see https://civicrm.org/licensing |
+--------------------------------------------------------------------+
*/
namespace Civi\StripeImport\Event;
/**
* This event is fired whenever an import for a stripe object is started.
*/
class StartImportEvent extends \Civi\Core\Event\GenericHookEvent {
/**
* The CiviCRM payment processor ID
*
* @var int
*/
public int $paymentProcessorID;
/**
* The Stripe Object ID. Eg. if $importType='subscription' then ObjectID = Stripe SubscriptionID.
* @var string
*/
public string $stripeObjectID;
/**
* One of: 'subscription', ... to be confirmed.
* @var string
*/
public string $importType;
/**
* The membership ID to use
*
* @var int
*/
public int $membershipID;
/**
* @param int $paymentProcessorID
* @param string $stripeObjectID
* @param string $importType
*/
public function __construct(int $paymentProcessorID, string $stripeObjectID, string $importType) {
$this->paymentProcessorID = $paymentProcessorID;
$this->stripeObjectID = $stripeObjectID;
$this->importType = $importType;
}
}
...@@ -9,6 +9,7 @@ use Civi\Api4\Membership; ...@@ -9,6 +9,7 @@ use Civi\Api4\Membership;
use Civi\Api4\PriceField; use Civi\Api4\PriceField;
use Civi\Api4\PriceFieldValue; use Civi\Api4\PriceFieldValue;
use Civi\StripeImport\Event\MembershipAutoEvent; use Civi\StripeImport\Event\MembershipAutoEvent;
use Civi\StripeImport\Event\StartImportEvent;
use CRM_StripeImport_ExtensionUtil as E; use CRM_StripeImport_ExtensionUtil as E;
class Subscription extends Base { class Subscription extends Base {
...@@ -113,6 +114,15 @@ class Subscription extends Base { ...@@ -113,6 +114,15 @@ class Subscription extends Base {
* @throws \Stripe\Exception\ApiErrorException * @throws \Stripe\Exception\ApiErrorException
*/ */
public function importOne(): array { public function importOne(): array {
\Civi::dispatcher()->dispatch(
'civi.stripeimport.startimport',
new StartImportEvent(
$this->getPaymentProcessorID(),
$this->getStripeSubscriptionID(),
'subscription',
)
);
// Get the subscription from Stripe // Get the subscription from Stripe
$stripeSubscription = $this->paymentProcessor->stripeClient->subscriptions->retrieve( $stripeSubscription = $this->paymentProcessor->stripeClient->subscriptions->retrieve(
$this->getStripeSubscriptionID(), $this->getStripeSubscriptionID(),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment