tmazza / wirecard-subscriptions-sdk
Software Development Kit to simplify the use of Wirecard Subscriptions API.
Requires
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
This package is auto-updated.
Last update: 2025-09-05 11:41:25 UTC
README
SDK PHP para facilitar o uso da API de Assinaturas da Wirecard.
Uso
Exemplo
<?php use tmazza\WirecardSubscriptions\WirecardApi; $wirecardApi = new WirecardApi(); # Lista de planos $plans = $wirecardApi->plans->all(); foreach($plans as $plan) { // $plan->code } # Criação de usuário $wirecardApi->customers->create([ ... ]); # Criação de assinatura $wirecardApi->subscriptions->create([ ... ]); # Consulta de assinatura $wirecardApi->subscriptions->get('code');
Instalação
composer require tmazza/wirecard-assinaturas-sdk-php
Credenciais
Defina as variáveis de ambiente WIRECARD_SUBSCRIPTIONS_ENV
, WIRECARD_SUBSCRIPTIONS_TOKEN
e WIRECARD_SUBSCRIPTIONS_KEY
, para especificar, respectivamente o ambiente o token e a chave da integração da Wirecard. O ambiente default utilizado será o de sandbox.
Alternativamente o ambiente e as credenciais podem ser definidas na criação da classe da API, passando os parâmetros conforme: new WirecardApi('sandbox', 'token', 'key')
. Esses parâmetros terão precedência sob as variáveis de ambiente.
API
Todos os recursos possuem os métodos get()
, all()
, create()
e update()
além de métodos específicos configurando cada um dos parâmetros disponíveis na API.
Tratamento de erros
try { $wirecardApi = new WirecardApi(); $wirecardApi->plans->create(['...']); } catch (ValidationException $e) { // status 400 - reporte de erro da API Wirecard $e->errors(); $e->alerts(); $e->firstError(); $e->firstAlert(); } catch (GuzzleHttp\Exception\ClientException $e) { // status 401 a 499 } catch (GuzzleHttp\Exception\ServerException $e) { // status 500 a 599 }
Recursos
ASSINATURAS
-
Planos
-
Assinantes
-
Assinaturas
PAGAMENTOS
-
Faturas
- Listar Todas as Faturas de Uma Assinatura
- Consultar Detalhes de Uma Fatura
-
Pagamentos
- Listar Todos os Pagamentos de Uma Fatura
- Consultar Detalhes de Um Pagamento da Assinatura
-
Cupons
- Criar Cupom
- Associar um Cupom a Assinatura Existente
- Associar um Cupom a uma Nova Assinatura
- Consultar Cupom
- Listar Todos os Cupons
- Ativar e Inativar Cupons
- delete Excluir Cupom de uma Assinatura
-
Retentativas
- Retentativa de pagamento de uma fatura
- Gerar um novo boleto para uma fatura
- Criar Regras de Retentativas Automáticas
NOTIFICAÇÕES
- Preferências de notificação
- Criar Preferência de Notificação (webhook)
Planos
Criar plano
<?php $plan = $wirecardApi->plans->create([ "code" => "plan101", "name" => "Plano Especial", "description" => "Descrição", "amount" => 990, "setup_fee" => 500, "max_qty" => 1, "interval" => [ "length" => 1, "unit" => "MONTH" ], "billing_cycles" => 12, "trial" => [ "days" => 30, "enabled" => true, "hold_setup_fee" => true ], "payment_method" => "CREDIT_CARD" ]); echo $plan->name; // Plano Especial
Listar Planos
<?php $plans = $wirecardApi->plans->all(); foreach($plans as $plan) { echo $plan->name; // Plano Especial }
Consultar Plano
<?php $plan = $wirecardApi->plans->get('plan101'); echo $plan->name; // Plano Especial
Ativar Plano
<?php $plan = $wirecardApi->plans->activate('plan101'); echo $plan->status; // ACTIVE
Desativar Plano
<?php $plan = $wirecardApi->plans->inactivate('plan101'); echo $plan->status; // INACTIVE
Alterar Plano
<?php $plan = $wirecardApi->plans->update([ 'name' => 'Plano Especial Atualizado', ]); echo $plan->name; // Plano Especial Atualizado
Assinantes
Criar Assinante
<?php // Criar assinante $customer = $wirecardApi->customers->create([ "code" => "cliente01", "email" => "nome@exemplo.com.br", "fullname" => "Nome Sobrenome", "cpf" => "22222222222", "phone_area_code" => "11", "phone_number" => "934343434", "birthdate_day" => "26", "birthdate_month" => "04", "birthdate_year" => "1980", "address" => [ "street" => "Rua Nome da Rua", "number" => "100", "complement" => "Casa", "district" => "Nome do Bairro", "city" => "São Paulo", "state" => "SP", "country" => "BRA", "zipcode" => "05015010" ] ]); // Cadastrar o cartão do assinante $wirecardApi->customers->setCard( $customer->code, [ "holder_name" => "Nome Completo", "number" => "4111111111111111", "expiration_month" => "06", "expiration_year" => "22" ] ); // new_vault pode ser habilitado enableNewVault() $customer = $wirecardApi->customers ->enableNewVault() ->create([/*...*/]) // customer e billing_info criados juntos $customer = $wirecardApi->customers->create([ "code" => "cliente02", "email" => "nome@exemplo.com.br", "fullname" => "Nome Sobrenome", "cpf" => "22222222222", "phone_area_code" => "11", "phone_number" => "934343434", "birthdate_day" => "26", "birthdate_month" => "04", "birthdate_year" => "1980", "address" => [ "street" => "Rua Nome da Rua", "number" => "100", "complement" => "Casa", "district" => "Nome do Bairro", "city" => "São Paulo", "state" => "SP", "country" => "BRA", "zipcode" => "05015010" ], "billing_info" => [ "credit_card" => [ "holder_name" => "Nome Completo", "number" => "4111111111111111", "expiration_month" => "06", "expiration_year" => "22" ] ] ]); echo $customer->code; // cliente02
Listar Assinantes
<?php $customers = $wirecardApi->customers->all(); foreach($customers as $customer) { echo $customer->code; // cliente01 }
Consultar Assinante
<?php $customer = $wirecardApi->customers->get('client01'); echo $customer->email; // nome@exemplo.com.br
Alterar Assinante
<?php $customer = $wirecardApi->customers->update([ 'name' => 'Novo nome', ]); echo $customer->name; // Novo nome
Atualizar Cartão do Assinante
<?php $customer = $wirecardApi->customers->setCard([ 'holder_name' => 'Nome Completo', 'number' => '4222222222222222', 'expiration_month' => '06', 'expiration_year' => '22' ]); echo $customer->billing_info->credit_card->number; // 4222222222222222
Assinaturas
Criar Assinaturas
<?php $subscription = $wirecardApi->subscriptions->create([ 'code' => 'assinatura01', 'amount' => '9990', 'payment_method' => 'CREDIT_CARD', 'plan' => [ 'code' => 'plano01' ], 'customer' => [ 'code' => 'cliente01' ] ]); echo $subscription->code; // assinatura01
Parâmetro enableNewUser()
disponível caso customer seja informado junto com a criação da assinatura.
<?php $subscription = $wirecardApi->subscriptions->enableNewUser()->create([ 'code' => 'assinatura01', 'amount' => '9990', 'payment_method' => 'CREDIT_CARD', 'plan' => [ 'code' => 'plano01' ], 'customer' => [ 'code' => 'novoCLiente' // Informações de customer ] ]); echo $subscription->code; // assinatura01
Listar Todas Assinaturas
<?php $subscriptions = $wirecardApi->subscriptions->all(); foreach($subscriptions as $subscription) { echo $subscription->code; // assinatura01 }
Consultar Detalhes de Uma Assinatura
<?php $subscription = $wirecardApi->subscriptions->get('assinatura01'); echo $subscription->amount; // 9990