1. Go to this page and download the library: Download stytch/stytch-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
stytch / stytch-php example snippets
use Stytch\Consumer\Client;
$client = new Client(
projectId: 'project-test-12345678-1234-1234-1234-123456789012',
secret: 'secret-test-12345678901234567890123456789012',
);
// Create a user
$response = $client->users->create([
'email' => '[email protected]'
]);
use Stytch\B2B\Client;
$client = new Client(
projectId: 'project-test-12345678-1234-1234-1234-123456789012',
secret: 'secret-test-12345678901234567890123456789012',
);
// Create an organization
$response = $client->organizations->create([
'organization_name' => 'Example Corp',
'organization_slug' => 'example-corp'
]);
use GuzzleHttp\Promise\Utils;
// Single async request
$promise = $client->users->getAsync(['user_id' => 'user-123']);
$user = $promise->wait(); // Block until response
// Or use promise chaining
$promise->then(function($user) {
echo "User: " . $user->name->firstName;
})->otherwise(function($exception) {
echo "Error: " . $exception->getMessage();
});
use GuzzleHttp\Promise\Utils;
// Send multiple requests concurrently
$promises = [
'user1' => $client->users->getAsync(['user_id' => 'user-123']),
'user2' => $client->users->getAsync(['user_id' => 'user-456']),
'user3' => $client->users->getAsync(['user_id' => 'user-789']),
];
// Wait for all to complete
$responses = Utils::settle($promises)->wait();
foreach ($responses as $key => $response) {
if ($response['state'] === 'fulfilled') {
echo "User {$key}: " . $response['value']->name->firstName . "\n";
} else {
echo "Error for {$key}: " . $response['reason']->getMessage() . "\n";
}
}
use GuzzleHttp\Promise\Utils;
// Chain multiple operations
$client->users->createAsync(['email' => '[email protected]'])
->then(function($createResponse) use ($client) {
// User created, now send magic link
return $client->magic_links->email->sendAsync([
'user_id' => $createResponse->userId,
'email' => $createResponse->user->emails[0]->email,
]);
})
->then(function($sendResponse) {
echo "Magic link sent! Request ID: " . $sendResponse->requestId;
})
->otherwise(function($exception) {
echo "Error in chain: " . $exception->getMessage();
});
// v1.x
use Stytch\Consumer\Api\OTPsWhatsapp; // Old
$client->otps->whatsapp->send(...); // Still works
// v2.0+
use Stytch\Consumer\Api\OTPsWhatsApp; // New (capital A)
$client->otps->whatsapp->send(...); // Still works
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.