cielo_payment_link 1.1.1

Flutter Android iOS web

A Flutter package that helps the shopkeeper create payment links. Its main objective is to allow stores to create links, through their own application and share with their customers, without the need

Link de Pagamentos #

O SDK permite ao lojista criar links de pagamentos. Seu principal objetivo é permitir que lojas possam criar links, através do seu próprio aplicativo e compartilhar com seus clientes, sem a necessidade de acessar o Backoffice. O SDK foi feito em dart, podendo assim ser ultilizado na linguagem Flutter.

Principais recursos #

  • [x] Autenticação no oAuth
  • [x] Criação do link de pagamento
    • [x] De todos os tipos de produtos
    • [x] Com todos os tipos de entrega (incluindo entrega ultilizando Loggi)
    • [x] Com recorrência

Modo de Uso #

Instalação #

  • Será necessário adicionar a seguinte dependência ao pubspec.yaml do seu app:
    dependencies:
      cielo_payment_link: ^1.1.1

Utilização #

  • Para iniciar com o SDK será necessário importar o pacote abaixo:
import 'package:cielo_payment_link/payment_link.dart';

Será necessário informar Client Id, Client Secret e o Ambiente:

Instancie PaymentLink como exemplo abaixo:

var paymentLink = PaymentLink(
        clientId: 'your client id',
        clientSecret: 'your client secret',
        environment: PaymentLinkEnvironment.SANDBOX);

*PaymentLink:

ParâmetroDescriçãoTipoObrigatório
ClientIDIdentificador chave fornecido pela CIELO.StringSIM
ClientSecretChave que valida o ClientID. Fornecida pela Cielo junto ao ClientID.StringSIM
EnvironmentAmbiente de Desenvolvimento.PaymentLinkEnvironmentNÃO. Caso não seja informado o SDK ultilizará SANDBOX.
  • Logo ápos instanciar o PaymentLink, instancie PaymentLinkRequest como exemplo abaixo:
  var request = PaymentLinkRequest(
      name: 'your product name',
      type: TypeProduct.ASSET,
      price: '200000',
      description: 'description of your product',
      maxNumberOfInstallments: '10',
      expirationDate: '2025-01-01',
      quantity: 2,
      shipping: ShippingProduct(
          type: ShippingType.CORREIOS,
          name: 'delivery name',
          price: '10000',
          originZipcode: '06018953'));

*PaymentLinkRequest:

ParâmetroDescriçãoTipoObrigatório
NameNome do produto.StringSIM
TypeTipo de produto qual a venda será realizada através do link de pagamento.TypeProductSIM
PriceValor do produto em centavos.StringSIM
DescriptionDescrição do produto que será exibida na tela de Checkout.StringNÃO. Obrigatório apenas se showDescription for true.
MaxNumberOfInstallmentsNúmero máximo de parcelas que o comprador pode selecionar na tela de Checkout. Se não informado será utilizada as configurações da loja no Checkout Cielo.StringNÃO
ExpirationDateData de expiração do link. Caso uma data seja informada, o link se torna indisponível na data informada. Se nenhuma data for informada, o link não expira. Obs: YYYY-MM-DD.StringNÃO
QuantityQuantidade de produtos.intNÃO
ShowDescriptionExibir ou não descrição do produto no Checkout Cielo.boolNÃO
WeightPeso do produto em gramas.intNÃO
ShippingNó contendo informações de entrega do produto.ShippingProductSIM
RecurrentNó contendo informações caso o tipo do produto for Recorrência.RecurrentNÃO. Obrigatório apenas para cobrança do tipo recorrência.

*ShippingProduct:

ParâmetroDescriçãoTipoObrigatório
TypeTipo de entrega do produto.ShippingTypeSIM
NameNome do frete.StringNÃO. Obrigatório para frete tipo “FixedAmount”.
PriceO valor do frete.StringNÃO. Obrigatório para frete tipo “FixedAmount”.
OriginZipcodeCep de origem da encomenda.StringNÃO. Obrigatório para frete tipo “Correios”. Deve conter apenas números.
PickUpDataNó contendo endereço de retirada do produto caso o tipo de entrega for Loggi.PickUpDataProductNÃO. Obrigatório para frete do tipo Loggi.
PackageNó contendo informações do pacote, caso o tipo de entrega for Loggi.PackageProductNÃO. Obrigatório para frete do tipo Loggi.

*Recurrent:

ParâmetroDescriçãoTipoObrigatório
IntervalIntervalo de cobrança da recorrência.RecurrentIntervalNÃO. Obrigatório no caso de recorrência.
EndDateData final de cobrança da recorrência. Obs: YYYY-MM-DD.StringNÃO
  • Após instanciar o PaymentLink e PaymentLinkRequest podemos efetuar a chamada do SDK, para receber um PaymentLinkResponse:
  PaymentLinkResponse response = await paymentLink.create(request: request);
  return response;

Ultilização com Loggi #

  • Caso a entrega for do tipo Loggi a instancia de PaymentLinkRequest, deverá conter informações de dados da coleta e do pacote que será entregue (PickupDataProduct e PackageProduct) assim como no exemplo abaixo:
  var request = PaymentLinkRequest(
    name: 'your product name',
    type: TypeProduct.ASSET,
    price: '200000',
    description: 'description of your product',
    maxNumberOfInstallments: '10',
    expirationDate: '2025-01-01',
    quantity: 2,
    shipping: ShippingProduct(
      type: ShippingType.LOGGI,
      pickupData: PickupDataProduct(
          street: 'Praça da Sé',
          number: '123',
          district: 'Sé',
          city: 'São Paulo',
          state: 'SP',
          zipCode: '01001001',
          complement: 'Loja One 12B',
          contactPhone: '1198765543',
          deliveryInstructions: 'delivery instructions'),
      package: PackageProduct(
        weight: 200,
        dimension: DimensionProduct(
          length: 20,
          height: 20,
          width: 20,
        ),
      ),
    ),
  );

*PickupDataProduct:

ParâmetroDescriçãoTipoObrigatório
StreetEndereço de retirada do produto.StringSIM
NumberNúmero do endereço de retirada do produto.StringSIM
DistrictBairro do endereço de retirada do produto.StringSIM
CityCidade do endereço de retirada do produto.StringSIM
StateEstado de endereço de retirada do produto.StringSIM
ZipCodeCEP de endereço de retirada do produto.StringSIM
ComplementComplemento do endereço de retirada.StringSIM
ContactPhoneTelefone de contato.StringSIM
DeliveryInstructionsInstruções de entrega.StringSIM

*PackageProduct:

ParâmetroDescriçãoTipoObrigatório
WeightCampo para informar o peso do pacote (dado em gramas).intSIM
DimensionDimensão do pacote.DimensionProductSIM

*DimensionProduct:

ParâmetroDescriçãoTipoObrigatório
LengthCampo para informar o comprimento do pacote (dado em centimetros).intSIM
HeightCampo para informar altura do pacote (dado em centimetros).intSIM
WidthCampo para informar a largura do pacote (dado em centimetros).intSIM
  • Após instanciar o PaymentLink e PaymentLinkRequest podemos efetuar a chamada do SDK, para receber um PaymentLinkResponse:
  PaymentLinkResponse response = await paymentLink.create(request: request);
  return response;
  • Caso ocorrá algum erro, temos o ErrorResponse. No exemplo abaixo foi capturado usando um FutureBuilder ou StreamBuilder:
...
if (snapshot.hasError) {
                      ErrorResponse errors = snapshot.error;
                      print('--------------------------------------');
                      print('Status Code => ${errors.code}');
                      print('Message => ${errors.message}');
                      print('--------------------------------------');
                      return Container();
                    }
...
  • OBS: O SDK permite o lojista fazer a criação do link de pagamento, podendo ser usado o serviço Loggi. A parte de solicitação de motoboy e acompanhamento do delivery, deverá ser feito a partir do Backoffice.

Manual #

Para mais informações sobre a integração com a API de Link de Pagamentos, vide o manual em: Link de Pagamento

0
likes
90
pub points
40%
popularity

A Flutter package that helps the shopkeeper create payment links. Its main objective is to allow stores to create links, through their own application and share with their customers, without the need to access the Backoffice.

Repository (GitHub)
View/report issues

Documentation

API reference

Uploaders

ftoniolo.aat@gmail.com
braspag.sdk@gmail.com

License

MIT (LICENSE)

Dependencies

cielo_oauth, dio, flutter

More

Packages that depend on cielo_payment_link