composer require wowmaking/web-purchases
- stripe
- recurly
- paypal (Not supports customers)
- solidgate (Not supports customers)
- client_type = stripe
- secret_key
- client_type = recurly
- public_key
- secret_key
- client_type = paypal
- secret_key
- client_id
- sandbox
- client_type = solidgate
- secret_key
- merchant_id
- webhook_secret_key
- webhook_merchant_id
- "php": ">=7.2.0"
- "stripe/stripe-php": "^7"
- "recurly/recurly-client": "^4"
- "guzzlehttp/guzzle": "^7.3"
- "facebook/php-business-sdk": "^12.0"
use Wowmaking\WebPurchases\WebPurchases;
$clientParams = [
'client_type' => 'stripe',
'secret_key' => ...
];
$subtruckParams = [
'token' => ...,
'idfm' => ...
];
$fbPixelParams = [
'token' => ...,
'pixel_id' => ...,
'domain' => ...,
'ip' => ...,
'user_agent' => ...,
'fbc' => ...,
'fbp' => ...,
];
$webPurchases = WebPurchases::service(array $clientParams, ?array $subtruckParams, ?array $fbPixelParams);
- id
- amount
- currency
- trial_period_days
- trial_price_amount
use Wowmaking\WebPurchases\Resources\Entities\Price;
$prices = $webPurchases->getPurchasesClient()->getPrices(array $filterPricesIds = []));
- id
- provider
- provider_response
use Wowmaking\WebPurchases\Resources\Entities\Customer;
$customer = $webPurchases->getPurchasesClient()->createCustomer(array $data);
$customers = $webPurchases->getPurchasesClient()->getCustomers(array $params);
$customer = $webPurchases->getPurchasesClient()->getCustomer(string $customerId);
$customer = $webPurchases->getPurchasesClient()->updateCustomer(string $customerId, array $data);
- transaction_id
- plan_name
- currency
- amount
- customer_id
- created_at
- trial_start_at
- trial_end_at
- expire_at
- canceled_at
- state
- is_active
- provider
- provider_response
use Wowmaking\WebPurchases\Resources\Entities\Subscription;
$subscription = $webPurchases->getPurchasesClient()->createSubscription(array $params);
!!!
This method will automatically send an event to Subtruk and FbPixel
if you specified the correct settings ($subtruckParams, $fbPixelParams)
when calling the service
use Wowmaking\WebPurchases\Resources\Entities\Subscription;
$subscriptions = $webPurchases->getPurchasesClient()->getSubscriptions(string $customerId);
use Wowmaking\WebPurchases\Resources\Entities\Subscription;
$subscriptions = $webPurchases->getPurchasesClient()->cancelSubscription(string $subscriptionId);