{"id":48827201,"url":"https://github.com/anvimaa/paypay-ao-sdk","last_synced_at":"2026-04-14T18:35:30.423Z","repository":{"id":311938711,"uuid":"1045615003","full_name":"anvimaa/paypay-ao-sdk","owner":"anvimaa","description":"SDK oficial para integração de pagamentos PayPay Angola. Suporte completo para MULTICAIXA Express, MULTICAIXA Reference e PayPay App.","archived":false,"fork":false,"pushed_at":"2025-11-17T22:21:41.000Z","size":461,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-18T00:16:09.566Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anvimaa.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-27T13:05:34.000Z","updated_at":"2025-11-17T22:21:45.000Z","dependencies_parsed_at":"2025-08-28T00:18:13.521Z","dependency_job_id":"67b76d20-d77a-4819-a33c-772eeb4d8d2d","html_url":"https://github.com/anvimaa/paypay-ao-sdk","commit_stats":null,"previous_names":["anvimaa/paypay-ao-sdk"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/anvimaa/paypay-ao-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvimaa%2Fpaypay-ao-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvimaa%2Fpaypay-ao-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvimaa%2Fpaypay-ao-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvimaa%2Fpaypay-ao-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anvimaa","download_url":"https://codeload.github.com/anvimaa/paypay-ao-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anvimaa%2Fpaypay-ao-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31810739,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T18:05:02.291Z","status":"ssl_error","status_checked_at":"2026-04-14T18:05:01.765Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-14T18:35:30.352Z","updated_at":"2026-04-14T18:35:30.415Z","avatar_url":"https://github.com/anvimaa.png","language":"JavaScript","readme":"# PayPay AO SDK\n\n[![npm version](https://img.shields.io/npm/v/paypay-ao-sdk.svg)](https://www.npmjs.com/package/paypay-ao-sdk)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue.svg)](https://www.typescriptlang.org/)\n\nSDK oficial para integração de pagamentos PayPay Angola. Suporte completo para **MULTICAIXA Express**, **MULTICAIXA Reference** e **PayPay App**.\n\n## 🚀 Características\n\n- ✅ **MULTICAIXA Express** - Pagamentos imediatos via número de telefone\n- ✅ **MULTICAIXA Reference** - Pagamentos por referência\n- ✅ **PayPay App** - Pagamentos via aplicação móvel\n- ✅ **TypeScript** - Tipagem completa para melhor experiência de desenvolvimento\n- ✅ **Segurança** - Criptografia RSA PKCS1 e assinaturas SHA1withRSA\n- ✅ **Validação** - Validação robusta de dados de entrada\n\n\n## 📦 Instalação\n\n```bash\nnpm install paypay-ao-sdk\n```\n\nou\n\n```bash\npnpm add paypay-ao-sdk\n```\n\n## 🔧 Configuração Inicial\n\n### 1. Obter Credenciais\n\nPara usar o SDK, você precisará de:\n- **Partner ID** - Identificador do merchant\n- **Chave Privada RSA** - Para assinar requisições\n- **Chave Pública PayPay** - Para verificar respostas\n- **Sale Product Code** - Código Único do produto fornecido pelo suporte Pay Pay\n- **API URL** - Url autorizada da API fornecido pelo suporte Pay Pay\n\n### 2. Inicialização Básica\n\n```javascript\nconst PayPaySDK = require('paypay-ao-sdk');\n\nconst sdk = new PayPaySDK({\n  partnerId: 'SEU PARTNER ID',\n  privateKey: `-----BEGIN PRIVATE KEY-----\nSUA_CHAVE_PRIVADA_RSA\n-----END PRIVATE KEY-----`,\n  paypayPublicKey: `-----BEGIN PUBLIC KEY-----\nCHAVE_PUBLICA_PAYPAY\n-----END PUBLIC KEY-----`,\n  language: 'pt/en',\n  saleProductCode: 'Codigo do produto',\n  apiUrl:'URL da API'\n});\n```\n\n## 💳 Uso Básico\n\n### Express\n\nPagamento imediato processado diretamente via número de telefone:\n\n```javascript\ntry {\n  const outTradeNo = PayPaySDK.generateUniqueOrderNo(\"MUL-\");\n  const resp = await sdk.createMulticaixaPayment({\n      outTradeNo,\n      amount: amount,\n      phoneNum: phoneNum,\n      payerIp: ip,\n  });\n  console.log(resp);\n} catch (error) {\n  console.error('Falha na requisição:', error.message);\n}\n```\n\n### Reference\n\nPagamento por referência para processamento posterior:\n\n```javascript\nconst outTradeNo = PayPaySDK.generateUniqueOrderNo(\"REF-\");\nconst resp = await sdk.createReferencePayment({\n    outTradeNo,\n    amount: amount,\n    payerIp: ip,\n});\nconsole.log(resp);\n```\n\n### PayPay App\n\nPagamento via aplicação móvel com QR Code ou Deep Link:\n\n```javascript\nconst outTradeNo = PayPaySDK.generateUniqueOrderNo(\"PAYPAY-\");\nconst resp = await sdk.createPayPayAppPayment({\n    outTradeNo,\n    amount: amount,\n    payerIp: ip,\n});\nconsole.log(resp);\n```\n\n## 🔍 Exemplos Avançados\n\n### Validação de Dados\n\n```javascript\n// Validar número de telefone\nconst phoneValidation = PayPaySDK.validatePhoneNumber('900123456');\nif (phoneValidation.isValid) {\n  console.log('Telefone formatado:', phoneValidation.formatted);\n}\n\n// Validar montante\nconst amountValidation = PayPaySDK.validateAmount(1000);\nif (!amountValidation.isValid) {\n  console.error('Erros:', amountValidation.errors);\n}\n\n// Gerar número de transação único\nconst tradeNo = PayPaySDK.generateUniqueOrderNo('ORDER_');\nconsole.log('Trade Number:', tradeNo);\n```\n\n## 📊 Fluxo de Pagamento\n\n### MULTICAIXA Express\n\n```mermaid\nsequenceDiagram\n    participant App as Sua Aplicação\n    participant SDK as PayPay SDK\n    participant API as PayPay API\n    participant User as Utilizador\n    \n    App-\u003e\u003eSDK: createMulticaixaPayment()\n    SDK-\u003e\u003eSDK: Validar dados\n    SDK-\u003e\u003eSDK: Encriptar conteúdo\n    SDK-\u003e\u003eSDK: Gerar assinatura\n    SDK-\u003e\u003eAPI: POST /gateway/recv.do\n    API--\u003e\u003eSDK: Resposta com link dinâmico\n    SDK--\u003e\u003eApp: PaymentResponse\n    App-\u003e\u003eUser: Apresentar link/QR\n    User-\u003e\u003eAPI: Confirmar pagamento\n    API--\u003e\u003eApp: Callback (webhook)\n```\n\n### PayPay App\n\n```mermaid\nsequenceDiagram\n    participant App as Sua Aplicação\n    participant SDK as PayPay SDK\n    participant API as PayPay API\n    participant PayPay as App PayPay\n    \n    App-\u003e\u003eSDK: createPayPayAppPayment()\n    SDK-\u003e\u003eAPI: Criar pagamento\n    API--\u003e\u003eSDK: Link dinâmico\n    SDK--\u003e\u003eApp: PaymentResponse\n    App-\u003e\u003ePayPay: Redirecionar/QR Code\n    PayPay-\u003e\u003eAPI: Processar pagamento\n    API--\u003e\u003eApp: Notificação\n```\n\n## ⚠️ Limitações e Considerações\n\n### Limites de Montante\n\n- **Mínimo**: 1 AOA\n- **Máximo**: 10.000.000.000.000 AOA\n\n### Timeouts\n\n- **Padrão**: 15 minutos\n- **Máximo**: 30 minutos\n- **Mínimo**: 5 minutos\n\n### Formatos Suportados\n\n- **Números de telefone**: 244XXXXXXXXX ou 9XXXXXXXX\n- **Moeda**: Apenas AOA (Kwanza Angolano)\n- **Codificação**: UTF-8\n\n\n## 🤝 Contribuição\n\nContribuições são bem-vindas! Por favor, leia nosso guia de contribuição antes de submeter pull requests.\n\n## 📄 Licença\n\nEste projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.\n\n## 📞 Suporte\n\nPara suporte técnico, entre em contato:\n\n- **Email**: anvimaa@gmail.com\n- **Documentação**: https://portal.paypayafrica.com/passport/apidoc/guide\n\n---\n\nDesenvolvido com ❤️ por anvimaa","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanvimaa%2Fpaypay-ao-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanvimaa%2Fpaypay-ao-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanvimaa%2Fpaypay-ao-sdk/lists"}