Skip to content

Quick Start - PHP

This guide will help you integrate the Code SDK into your PHP application, allowing you to create and verify payment intents seamlessly.

Prerequisites

  • PHP: Ensure you have PHP (version 7.4 or newer) installed.
  • Composer: PHP dependency manager. Install it from getcomposer.org.

Step 1: Install the Code PHP SDK

Use Composer to install the Code SDK. Navigate to your project directory and run:

bash
composer require code-wallet/client
composer require code-wallet/client

Step 2: Create a Payment Intent

Create a PHP script named createIntent.php and add the following code:

php
<?php
// createIntent.php

require 'vendor/autoload.php';

use CodeWallet\Client\PaymentIntents;

$paymentData = [
    'destination' => "E8otxw1CVX9bfyddKu3ZB3BVLa4VVF9J7CTPdnUwT9jR", // Replace with your destination address
    'amount' => 0.05, // Minimum amount is $0.05 USD
    'currency' => 'usd',
];

try {
    // Create a payment request intent
    $response = PaymentIntents::create($paymentData);
    echo "Payment Intent Created:\n";
    print_r($response);
} catch (Exception $e) {
    echo "Error creating payment intent: " . $e->getMessage();
}
<?php
// createIntent.php

require 'vendor/autoload.php';

use CodeWallet\Client\PaymentIntents;

$paymentData = [
    'destination' => "E8otxw1CVX9bfyddKu3ZB3BVLa4VVF9J7CTPdnUwT9jR", // Replace with your destination address
    'amount' => 0.05, // Minimum amount is $0.05 USD
    'currency' => 'usd',
];

try {
    // Create a payment request intent
    $response = PaymentIntents::create($paymentData);
    echo "Payment Intent Created:\n";
    print_r($response);
} catch (Exception $e) {
    echo "Error creating payment intent: " . $e->getMessage();
}

Run the script:

bash
php createIntent.php
php createIntent.php

You should see a response indicating that the payment intent has been created, including an id and clientSecret.

Step 3: Verify the Payment Intent

Create another PHP script named verifyIntent.php to verify the status of the payment intent:

php
<?php
// verifyIntent.php

require 'vendor/autoload.php';

use CodeWallet\Client\PaymentIntents;

// Replace 'your-intent-id' with the actual intent ID returned from createIntent.php
$intentId = 'your-intent-id';

try {
    // Verify the intent status
    $status = PaymentIntents::getStatus($intentId);
    echo "Payment Intent Status:\n";
    print_r($status);
} catch (Exception $e) {
    echo "Error verifying payment intent: " . $e->getMessage();
}
<?php
// verifyIntent.php

require 'vendor/autoload.php';

use CodeWallet\Client\PaymentIntents;

// Replace 'your-intent-id' with the actual intent ID returned from createIntent.php
$intentId = 'your-intent-id';

try {
    // Verify the intent status
    $status = PaymentIntents::getStatus($intentId);
    echo "Payment Intent Status:\n";
    print_r($status);
} catch (Exception $e) {
    echo "Error verifying payment intent: " . $e->getMessage();
}

Run the verification script:

bash
php verifyIntent.php
php verifyIntent.php

This will output the current status of the specified payment intent.

Notes

  • Destination Address: Ensure that the destination address is a valid Solana address associated with your Code Wallet.
  • Amount Constraints: The minimum payment amount is $0.05 USD, the maximum is $250 USD. Adjust the amount as needed.

Further Steps

  • Integrate with Your Application: Incorporate the SDK into your application's backend to handle payments dynamically.
  • Explore Advanced Features: Look into features like Payment Fees, Tipping, and Idempotency to enhance your payment flows.
  • Check Examples: Refer to the PHP Examples repository for more comprehensive use cases.

Need Help?

If you encounter any issues or have questions, join our community on Discord or follow us on Twitter.