astrotechlabs/asaas-sdk
Composer 安装命令:
composer require astrotechlabs/asaas-sdk
包简介
Pacote facilitador para integrações com Asaas Pagamento
README 文档
README
Este é um repositório que possui uma abstração a API do Asaas V3, facilitando a criação de PIX Copia e Cola como também outros serviços oferecidos
Instalação
A forma mais recomendada de instalar este pacote é através do composer.
Para instalar, basta executar o comando abaixo
$ php composer.phar require astrotechlabs/asaas-sdk
ou adicionar esse linha
"astrotechlabs/asaas-sdk": "^1.0"
na seção require do seu arquivo composer.json.
COMO USAR?
Criação de um depósito via PIX
Com o código abaixo você consegue fazer a criação de uma cobrança via PIX, onde serão retornadas os dados da Chave Pix Cópia/Cola (copyPasteUrl) como também já é retornado um QRCode em base64 (qrCode) para você disponibilizar para o frontend da sua aplicação.
use AstrotechLabs\AsaasSdk\AssasGateway; use AstrotechLabs\AsaasSdk\AssasGatewayParams; use AstrotechLabs\AsaasSdk\Pix\CreatePixCharge\Dto\PixData; use AstrotechLabs\AsaasSdk\Pix\Enum\BillingTypes; $asaasGateway = new AssasGateway(new AssasGatewayParams( apiKey: 'xxxxxxxxxx', // isSandBox: true (opcional) )); $pixChargeResponse = $asaasGateway->createPixCharge(new PixData( customer: new CustomerData( name: 'Joãozinho Barbosa', phone: '999999999', cpfCnpj: '01234567890' ), billingType: BillingTypes::PIX, value: 100.00, dueDate: "2023-12-20" // Deve ser informada uma data futura )); print_r($pixChargeResponse);
Saída
[
'gatewayId': 'pay_kp6gqaovguxqr1od',
'paymentUrl': 'https://sandbox.asaas.com/i/kp6gqaovguxqr1od',
'copyPasteUrl': '00020101021226820014br.gov.bcb.pix2560qrpix-h.bradesco.com.br/xxxxxxxxx-xxxx......',
'details' => [
'object' => 'payment'
'id' => 'pay_kp6gqaovguxqr1od'
'dateCreated' => '2023-12-16'
'customer' => 'cus_000005797885'
'paymentLink' => 'https://sandbox.asaas.com/i/xxxxxxxxxxx',
..............
],
'qrCode' => 'data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAYsAAA......'
]
Webhook
Quando é confirmada a transação via PIX o payload JSON abaixo é enviado para sua aplicação pela URL configurada no Backoffice do Asaas.
{
"event":"PAYMENT_RECEIVED",
"payment":{
"object":"payment",
"id":"pay_080225913252",
"dateCreated":"2021-01-01",
"customer":"cus_G7Dvo4iphUNk",
"subscription":"sub_VXJBYgP2u0eO",
"installment":"2765d086-c7c5-5cca-898a-4262d212587c",
"paymentLink":"123517639363",
"dueDate":"2021-01-01",
"originalDueDate":"2021-01-01",
"value":100,
"netValue":94.51,
"originalValue":null,
"interestValue":null,
"nossoNumero": null,
"description":"Pedido 056984",
"externalReference":"056984",
"billingType":"CREDIT_CARD",
"status":"RECEIVED",
"pixTransaction":null,
"confirmedDate":"2021-01-01",
"paymentDate":"2021-01-01",
"clientPaymentDate":"2021-01-01",
"installmentNumber": null,
"creditDate":"2021-02-01",
"custody": null,
"estimatedCreditDate":"2021-02-01",
"invoiceUrl":"https://www.asaas.com/i/080225913252",
"bankSlipUrl":null,
"transactionReceiptUrl":"https://www.asaas.com/comprovantes/4937311816045162",
"invoiceNumber":"00005101",
"deleted":false,
"anticipated":false,
"anticipable":false,
"lastInvoiceViewedDate":"2021-01-01 12:54:56",
"lastBankSlipViewedDate":null,
"postalService":false,
"creditCard":{
"creditCardNumber":"8829",
"creditCardBrand":"MASTERCARD",
"creditCardToken":"a75a1d98-c52d-4a6b-a413-71e00b193c99"
},
"discount":{
"value":0.00,
"dueDateLimitDays":0,
"limitedDate": null,
"type":"FIXED"
},
"fine":{
"value":0.00,
"type":"FIXED"
},
"interest":{
"value":0.00,
"type":"PERCENTAGE"
},
"split":[
{
"walletId":"48548710-9baa-4ec1-a11f-9010193527c6",
"fixedValue":20,
"status":"PENDING",
"refusalReason": null
},
{
"walletId":"0b763922-aa88-4cbe-a567-e3fe8511fa06",
"percentualValue":10,
"status":"PENDING",
"refusalReason": null
}
],
"chargeback": {
"status": "REQUESTED",
"reason": "PROCESS_ERROR"
},
"refunds": null
}
}
Para mais detalhes sobre o webhook veja a documentação aqui.
Criação de uma transferência
Com o código abaixo você consegue fazer a criação de uma transferência via PIX
use AstrotechLabs\AsaasSdk\AssasGateway; use AstrotechLabs\AsaasSdk\AssasGatewayParams; use AstrotechLabs\AsaasSdk\Transfer\CreateTransferCharge\Dto\TransferData; use AstrotechLabs\AsaasSdk\Transfer\Enum\PixKeyTypes; $asaasGateway = new AssasGateway(new AssasGatewayParams( apiKey: $_ENV['ASAAS_API_KEY'], isSandBox: false )); $transferChargeResponse = $asaasGateway->createTransferCharge(new TransferData( value: 1, pixAddressKey: 'xxxxxxxx-xxxxx-xxxxx-xxxx', pixAddressKeyType: PixKeyTypes::RANDOM_KEY )); print_r($transferChargeResponse);
Saída
[
'gatewayId' => 'fb408225-8d98-4afe-b193-894cbdf1db55'
'status' => 'PENDING'
'fee' => 0
'value' => 1
'authorized' => false
'details' => [
'object' => 'transfer'
'id' => 'fb408225-8d98-4afe-b193-894cbdf1db55'
'value' => 1.0,
........
]
]
Webhook
Quando é confirmada a transação via de transferência o payload JSON abaixo é enviado para sua aplicação pela URL configurada no Backoffice do Asaas.
{
"event": "TRANSFER_CREATED",
"transfer": {
"object": "transfer",
"id": "777eb7c8-b1a2-4356-8fd8-a1b0644b5282",
"dateCreated": "2019-05-02",
"status": "PENDING",
"effectiveDate": null,
"endToEndIdentifier": null,
"type": "BANK_ACCOUNT",
"value": 1000,
"netValue": 1000,
"transferFee": 0,
"scheduleDate": "2019-05-02",
"authorized": true,
"failReason": null,
"transactionReceiptUrl": null,
"bankAccount": {
"bank": {
"ispb": "00000000",
"code": "001",
"name": "Banco do Brasil"
},
"accountName": "Conta Banco do Brasil",
"ownerName": "Marcelo Almeida",
"cpfCnpj": "***.143.689-**",
"agency": "1263",
"agencyDigit": "1",
"account": "26544",
"accountDigit": "1",
"pixAddressKey": null
},
"operationType": "TED",
"description": null
}
}
Para mais detalhes sobre o webhook veja a documentação aqui.
Contribuição
Pull Request são bem-vindas. Para mudanças importantes, abra primeiro uma issue para discutir o que você gostaria de mudar.
Certifique-se de atualizar os testes conforme apropriado.
Licença
Este pacote é lançado sob a licença MIT. Consulte o pacote LICENSE para obter detalhes.
astrotechlabs/asaas-sdk 适用场景与选型建议
astrotechlabs/asaas-sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.13k 次下载、GitHub Stars 达 2, 最近一次更新时间为 2023 年 12 月 16 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「Asaas」 「asaas-pix」 「asaas-payments」 「asaas-sdk」 「asaas-php」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 astrotechlabs/asaas-sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 astrotechlabs/asaas-sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 astrotechlabs/asaas-sdk 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Asaas.com PHP API Wrapper
Laravel SDK for Asaas payment gateway integration
Package for integration with Asaas.
Asaas.com PHP API v3 Wrapper
Module for integration with AsaaS
统计信息
- 总下载量: 2.13k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 19
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-12-16