futureecom/omnipay-stripe

Stripe Payment Intents driver for the Omnipay payment processing library.

Maintainers

Package info

github.com/futureecom/omnipay-stripe

Homepage

pkg:composer/futureecom/omnipay-stripe

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-07-15 14:54 UTC

This package is auto-updated.

Last update: 2026-07-15 15:01:43 UTC


README

Stripe Payment Intents gateway for the Omnipay payment processing library

This package implements Stripe Payment Intents support for Omnipay, backed by the official stripe/stripe-php SDK instead of the legacy Charges API used by omnipay/stripe.

Installation

Install the gateway using Composer:

composer require futureecom/omnipay-stripe

Configuration

Obtain your Stripe API keys from the Stripe Dashboard.

use Omnipay\Omnipay;

$gateway = Omnipay::create('Stripe');
$gateway->setApiKey('sk_test_...');
$gateway->setPublishableKey('pk_test_...');
$gateway->setStripeVersion('2024-06-20'); // optional API version pin

Test mode is determined by the secret key prefix (sk_test_ / sk_live_), not a separate flag.

Supported gateway methods

Method Stripe API Notes
purchase Payment Intents (capture_method=automatic) Immediate capture
authorize Payment Intents (capture_method=manual) Auth-only, capture later
capture PaymentIntent capture or Charge capture Accepts pi_* or legacy ch_* references
completePurchase Payment Intents Uses token/source stored as transactionReference
refund Refunds API Partial or full refund against charge
void PaymentIntent cancel or full refund Cancels uncaptured auth; refunds captured charge
createCard Customers + Payment Methods Returns legacy-shaped customer payload for platform compatibility

Usage

Purchase

$response = $gateway->purchase([
    'amount' => '99.99',
    'currency' => 'USD',
    'paymentMethod' => 'pm_123', // preferred
    // or legacy: 'source' => 'tok_...', 'token' => 'tok_...'
])->send();

if ($response->isSuccessful()) {
    $chargeId = $response->getTransactionReference(); // ch_*
}

Authorize and capture

$auth = $gateway->authorize([
    'amount' => '100.00',
    'currency' => 'USD',
    'paymentMethod' => 'pm_123',
])->send();

$capture = $gateway->capture([
    'transactionReference' => $auth->getTransactionReference(),
])->send();

Refund

$response = $gateway->refund([
    'transactionReference' => 'ch_123',
    'amount' => '10.00',
    'currency' => 'USD',
])->send();

Payment method inputs

The gateway accepts, in order of precedence:

  1. paymentMethodpm_* (preferred)
  2. source — legacy Card Element token (tok_*) or payment method id
  3. token — legacy purchase param
  4. cardReference — stored card / payment method reference

Legacy tok_* values are converted server-side via PaymentMethod::create(['card' => ['token' => ...]]).

Transaction references

Successful payment/authorization responses return the charge id (ch_*) as getTransactionReference() so existing refunds, voids, and captures against stored references keep working.

Development

composer install
composer test
composer lint

License

This package is open-sourced software licensed under the MIT license.