Integração com a API v2 de pagamentos e notificações da Wirecard utilizando requests.
Consulte a documentação oficial e as referências API v2 Wirecard
Instalação utilizando Pip
pip install py3wirecard
Git/Clone
git clone https://github.com/robertons/py3wirecard
cd py3wirecard
pip install -r requirements.txt
python setup.py install
from py3wirecard import *
WireCard("API TOKEN", "API KEY",sandbox=True)
Cadastro
cliente = Customer()
cliente.ownId = "1201"
cliente.fullname = "Fulando da Silva"
cliente.email = "fulano@email.com"
cliente.birthDate = datetime(1980,1,1)
cliente.taxDocument = TaxDocument(type="CPF", number = "000000000")
cliente.shippingAddress = Address(street= "Nome da Rua", streetNumber="01", complement="SN", district="Bairro", city="Cidade", state="UF", zipCode=00000000, country="BRA")
cliente.phone = Phone(countryCode=55, areaCode=11, number=999999999)
cliente.create()
Consulta
cliente = Customer().get("CUS-PCVTIJ37EWBZ")
Lista
clientes = Customer().list()
Atualização
Para atualizar um cliente basta criar um novo pedido com os dados do cliente existente informando seu id ou ownId.
Cadastro
compra = Order()
compra.ownId = "1234"
compra.amount = Amount()
compra.items.append(Product(product="Nome Produto", detail="Descrição Produto", quantity=1, price=23999))
compra.customer = Customer()
compra.customer.ownId = "1201"
compra.customer.fullname = "Fulando da Silva"
compra.customer.email = "fulano@email.com"
compra.customer.birthDate = datetime(1980,1,1)
compra.customer.taxDocument = TaxDocument(type="CPF", number = "000000000")
compra.customer.shippingAddress = Address(street= "Nome da Rua", streetNumber="01", complement="SN", district="Bairro", city="Cidade", state="UF", zipCode=00000000, country="BRA")
compra.customer.phone = Phone(countryCode=55, areaCode=11, number=999999999)
compra.shippingAddress = Address(street= "Nome da Rua", streetNumber="01", complement="SN", district="Bairro", city="Cidade", state="UF", zipCode=00000000, country="BRA")
compra.receivers.append(Receiver(type = 'SECONDARY', feePayor = False, moipAccount = MoipAccount(id='IDCONTA'), amount = Amount(fixed = 10000)))
compra.create()
Consulta
compra = Order().get("ORD-01KHBJSQ9QB0")
pagamento = Payment()
pagamento.fundingInstrument = FundingInstrument(method = "CREDIT_CARD")
Cartão de Crédito (hash)
pagamento.fundingInstrument.creditCard = CreditCard(hash = "HASH...", holder = Holder(fullname = "Fulando da Silva", TaxDocument(type="CPF", number = "000000000"), phone = Phone(countryCode=55, areaCode=11, number=999999999), birthdate = datetime(1980,1,1)))
Cartão de Crédito (dados) (Necessário certificação PCI)
pagamento.fundingInstrument.creditCard = CreditCard(number="5555666677778884", expirationMonth="06", expirationYear="2022", cvc="123", holder = Holder(fullname = "Fulando da Silva", TaxDocument(type="CPF", number = "000000000"), phone = Phone(countryCode=55, areaCode=11, number=999999999), birthdate = datetime(1980,1,1)))
Envio do Pagamento
pagamento.create(order_id="ORD-01F0UADQ9QB0")
Consulta
pagamento = Payment().get("PAY-1A24BB9K8DX4")
Completo de Pagamento
reembolso = Refund().create("PAY-1W24IB9J0DX4")
Parcial de Pagamento
reembolso = Refund().create("PAY-U67EYCMPR8C4", amount=1000)
Completo de Compra
reembolso = Refund().create("ORD-01F8CQ9QB0")
Parcial de Compra
reembolso = Refund().create("ORD-01F8CQ9QB0", amount=1000)
Consulta
reembolso = Refund().get("REF-VRK1K0N6GOXA")
Cadastro de Preferências de Notificações
notificacoes.events = [
"ORDER.*",
"PAYMENT.AUTHORIZED",
"PAYMENT.CANCELLED"
]
notificacoes.target = "https://myapi.com/notifications"
notificacoes.media = "WEBHOOK"
notificacoes.create()
Consulta
notificacao = Notification().get("NPR-S1VEAS06KBAXA")
Lista Preferências de Notificações
notificacoes = Notification().list()
Excluir Preferências de Notificações
Notification().delete("NPR-U18BA1ME2MTB")
Consultar Webhooks enviados com Código Identificador do Evento
webhooks = WebHooks().get("ORD-01F0UJSQ9QB0")
Consultar Todos Webhooks enviados
webhooks = WebHooks().get()
Reenviar Webhook
webhook = WebHooks().resend(resource_id="PAY-U67EYHGCR8C4", event="PAYMENT.AUTHORIZED")