Example #1
0
class TestPicPay(unittest.TestCase):
    def setUp(self):
        self.picpay = PicPay(
            x_picpay_token=config("X_PICPAY_TOKEN"),
            x_seller_token=config("X_SELLER_TOKEN"),
        )

    def test_get_url(self):
        self.assertEqual(self.picpay._get_url("/test"), f"{self.picpay._URL}/test")

    def test_headers(self):
        self.assertEqual(
            self.picpay.headers,
            {
                "x-picpay-token": self.picpay._x_picpay_token,
                "x-seller-token": self.picpay._x_seller_token,
            },
        )

    @requests_mock.Mocker()
    def test_payment(self, request_mock):
        url = self.picpay._get_url(path="payments")
        json = {
            "referenceId": "102030",
            "paymentUrl": "https://app.picpay.com/checkout/NWUzM2IwYjNiM2U0YmI0M2U5Njk1NjAy",
            "qrcode": {
                "content": "https://app.picpay.com/checkout/NWUzM2IwYjNiM2U0YmI0M2U5Njk1NjAy",
                "base64": "data:image/png;base64,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",
            },
            "expiresAt": "2022-05-01T16:00:00-03:00",
        }
        request_mock.post(url=url, json=json)
        payment = self.picpay.payment(
            reference_id=102030,
            callback_url="http://www.sualoja.com.br/callback",
            return_url="http://www.sualoja.com.br/cliente/pedido/102030",
            value=20.50,
            expires_at="2022-05-01T16:00:00-03:00",
            buyer={
                "firstName": "João",
                "lastName": "Da Silva",
                "document": "123.456.789-10",
                "email": "*****@*****.**",
                "phone": "+55 27 12345-6789",
            },
        )
        self.assertEqual(payment, json)
Example #2
0
from decouple import config

from picpay import PicPay

picpay = PicPay(
    x_picpay_token=config("X_PICPAY_TOKEN"), x_seller_token=config("X_SELLER_TOKEN")
)

cancellation = picpay.cancellation(reference_id=102030)

print(cancellation)
Example #3
0
from decouple import config

from picpay import PicPay

picpay = PicPay(x_picpay_token=config("X_PICPAY_TOKEN"),
                x_seller_token=config("X_SELLER_TOKEN"))

status = picpay.status(reference_id=102030)

print(status)
Example #4
0
import string
from random import random
from picpay import PicPay
from config import x_seller_token, x_picpay_token

# Configurações do PicPay
picpay = PicPay(x_picpay_token=x_picpay_token, x_seller_token=x_seller_token)


def id_generator(size=10, chars=string.ascii_uppercase + string.digits):
    return ''.join(random.choice(chars) for _ in range(size))


class PicPay:
    @staticmethod
    def generate_payment(value: float):
        """
        Gera um pedido e retorna-o
        :param value:
        :return:
        """
        reference_id_generated = id_generator()
        payment = picpay.payment(
            reference_id=f"{reference_id_generated}",
            callback_url="https://localhost/callback/picpay",
            return_url=f"https://localhost/pedido/{reference_id_generated}",
            value=value,
            buyer={})
        return payment

    @staticmethod
Example #5
0
 def setUp(self):
     self.picpay = PicPay(
         x_picpay_token="x_picpay_token",
         x_seller_token="x_seller_token",
     )
Example #6
0
 def setUp(self):
     self.picpay = PicPay(
         x_picpay_token=config("X_PICPAY_TOKEN"),
         x_seller_token=config("X_SELLER_TOKEN"),
     )
Example #7
0
from picpay import PicPay
from decouple import config


picpay = PicPay(
    x_picpay_token=config("X_PICPAY_TOKEN"), x_seller_token=config("X_SELLER_TOKEN")
)

payment = picpay.payment(
    reference_id=102030,
    callback_url="http://www.sualoja.com.br/callback",
    return_url="http://www.sualoja.com.br/cliente/pedido/102030",
    value=20.50,
    expires_at="2022-05-01T16:00:00-03:00",
    buyer={
        "firstName": "João",
        "lastName": "Da Silva",
        "document": "123.456.789-10",
        "email": "*****@*****.**",
        "phone": "+55 27 12345-6789",
    },
)

print(payment)
from decouple import config

from picpay import PicPay

picpay = PicPay(x_picpay_token=config("X_PICPAY_TOKEN"),
                x_seller_token=config("X_SELLER_TOKEN"))

notification = picpay.notification(reference_id=3434)

print(notification)