承接 tmazza/wirecard-subscriptions-sdk 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

tmazza/wirecard-subscriptions-sdk

Composer 安装命令:

composer require tmazza/wirecard-subscriptions-sdk

包简介

Software Development Kit to simplify the use of Wirecard Subscriptions API.

README 文档

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

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

tmazza/wirecard-subscriptions-sdk 适用场景与选型建议

tmazza/wirecard-subscriptions-sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 38 次下载、GitHub Stars 达 2, 最近一次更新时间为 2020 年 07 月 18 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 tmazza/wirecard-subscriptions-sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 tmazza/wirecard-subscriptions-sdk 我们能提供哪些服务?
定制开发 / 二次开发

基于 tmazza/wirecard-subscriptions-sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 38
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2020-07-18