{"id":25676835,"url":"https://github.com/stawuah/rapyd-ts-sdk","last_synced_at":"2026-02-12T09:03:55.246Z","repository":{"id":278989120,"uuid":"937404884","full_name":"stawuah/rapyd-ts-sdk","owner":"stawuah","description":"🚀 Seamlessly integrate with Rapyd's fintech APIs using this lightweight, TypeScript-based SDK. Developer-friendly, efficient, and easy to use. (Unofficial)","archived":false,"fork":false,"pushed_at":"2025-03-15T15:06:30.000Z","size":104,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T00:22:05.697Z","etag":null,"topics":["api","development","fintech","fintech-api","npm","pnpm","rapyd","rapyd-payments","sdk","sdk-js","ts","typescript","unofficial-patch","yarn"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/rapyd-ts-sdk","language":"TypeScript","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/stawuah.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2025-02-23T00:49:44.000Z","updated_at":"2025-03-15T15:06:09.000Z","dependencies_parsed_at":"2025-02-23T02:29:31.884Z","dependency_job_id":"23a29c95-58e8-4e47-ada7-bb3bfb0bb14c","html_url":"https://github.com/stawuah/rapyd-ts-sdk","commit_stats":null,"previous_names":["stawuah/rapyd-ts-sdk"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stawuah%2Frapyd-ts-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stawuah%2Frapyd-ts-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stawuah%2Frapyd-ts-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stawuah%2Frapyd-ts-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stawuah","download_url":"https://codeload.github.com/stawuah/rapyd-ts-sdk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250447900,"owners_count":21432164,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["api","development","fintech","fintech-api","npm","pnpm","rapyd","rapyd-payments","sdk","sdk-js","ts","typescript","unofficial-patch","yarn"],"created_at":"2025-02-24T14:38:05.202Z","updated_at":"2026-02-12T09:03:55.238Z","avatar_url":"https://github.com/stawuah.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n\n# Rapyd TypeScript SDK\n\nA modern, fully-typed TypeScript SDK for the Rapyd payment platform API (unofficial).\n\n![TypeScript](https://img.shields.io/badge/TypeScript-4.5%2B-blue)\n\n## Features\n\n✨ What makes this SDK special: \n\n🚀 Lightweight \u0026 Efficient – Optimized for performance with minimal dependencies.  \n📌 TypeScript-Powered – Enjoy strong typing, autocompletion, and better developer experience.  \n💳 Seamless Rapyd Integration – Easily interact with Rapyd’s fintech APIs for payments, wallets, and more.  \n🔒 Built-in Request Signing – Secure HMAC authentication is handled automatically.  \n💡 Developer-Friendly – Clean, well-structured code with intuitive service methods.  \n🛠️ Extensible – Designed for easy customization and future enhancements.  \n📄 Detailed request and response typing\n\n\n## Installation\n\n```bash\nnpm install rapyd-ts-sdk\n```\n\n## Quick Start\n\n```typescript\nimport { RapydClient } from 'rapyd-typescript-sdk';\n\nconst client = new RapydClient(\n    'your_access_key',\n    'your_secret_key'\n);\n\n\n// Get payment method field requirements\nconst fieldRequirements = await client.PaymentMethodsService.getFieldRequirements('us_debit_card'), //  bank_tranfer = us_ach_bank , etc ;\nconsole.log(fieldRequirements);\n\n// Get payment methods by country\nconst paymentMethods = await client.PaymentMethodsService.getPaymentMethodsByCountry('US');\nconsole.log(`Found ${paymentMethods.payment_methods.length} payment methods for ${paymentMethods.country}`);\n\n//you could pick this option or choose the snippet below on how to create payment\n\n// Create a payment\nconst payment = await client.createPayment({\n    amount: 100,\n    currency: 'USD',\n    payment_method: 'us_debit_card'\n});\n```\n\n## Core Features\n\n### Payments\n\n```typescript\n\n// CREATE PAYMENT\n// you could use the sdk custom types in your project \nimport { RapydClient, PaymentService, CreatePaymentRequest } from 'rapyd-payments-sdk';\n\n// Initialize the client\nconst rapydClient = new RapydClient({\n  accessKey: 'your-access-key',\n  secretKey: 'your-secret-key',\n  baseURL: 'https://sandboxapi.rapyd.net' // or production URL\n});\n\nconst paymentService = new PaymentService(rapydClient); // just call the method based of the rapydClient class\n\n// Create a payment\nasync function makePayment() {\n  try {\n    const paymentRequest: CreatePaymentRequest = {\n      amount: 101,\n      currency: 'USD',\n      description: 'Payment method token',\n      payment_method: 'other_7f991f72a4c14c5cd79627ebc21241de',\n      ewallets: [{\n        ewallet: 'ewallet_1290eef66d0b84ece177a3f5bd8fb0c8',\n        percentage: 100\n      }],\n      metadata: {\n        merchant_defined: true\n      }\n    };\n\n    const paymentResponse = await paymentService.createPayment(paymentRequest);\n    console.log('Payment created:', paymentResponse.data.id);\n    return paymentResponse;\n  } catch (error) {\n    console.error('Payment failed:', error);\n    throw error;\n  }\n}\n\n// UPDATE PAYMENT \n\n// Update a payment using the client (which delegates to PaymentService)\nconst paymentId = 'payment_36724a4ea01b438fd24ac3ab00b29150';\n\n// Method 1: Update general payment information\nawait rapydClient.updatePayment(paymentId, {\n  receipt_email: 'customer@example.com',\n  description: 'Updated payment description'\n});\n\n// Method 2: Update just the address\nconst address = {\n  name: 'John Doe',\n  line_1: '123 Main St',\n  city: 'Anytown',\n  country: 'US'\n};\nawait rapydClient.updatePaymentAddress(paymentId, address);\n\n// Method 3: Update just metadata\nconst metadata = {\n  order_id: '12345',\n  customer_type: 'premium'\n};\nawait rapydClient.updatePaymentMetadata(paymentId, metadata);\n\n// Method 4: Cancel escrow\nawait rapydClient.cancelEscrow(paymentId);\n\n// CAPTURE PAYMENT IN FULL OR PARTIALY\n\n// Capture full payment\nrapydClient.captureFullPayment('payment_19e3edad1e9102cd24006a34c52c9a0b')\n  .then(response =\u003e console.log(response))\n  .catch(error =\u003e console.error(error));\n\n// Capture partial payment\nrapydClient.capturePayment('payment_19e3edad1e9102cd24006a34c52c9a0b', { \n  amount: 50.00,\n  receipt_email: 'customer@example.com',\n  statement_descriptor: 'Your Store Name'\n})\n  .then(response =\u003e console.log(response))\n  .catch(error =\u003e console.error(error));\n\n```\n\n### Wallets\n\n```typescript\n// Create wallet\nconst wallet = await client.createWallet({\n    first_name: 'John',\n    last_name: 'Doe',\n    email: 'john@example.com',\n    ewallet_reference_id: 'john-doe-001'\n});\n\n// Get balance\nconst balance = await client.getWalletBalance('wallet_id');\n```\n\n### Payouts\n\n```typescript\nconst payout = await client.createPayout({\n    beneficiary: 'beneficiary_id',\n    payout_method_type: 'us_bank_transfer',\n    amount: 100,\n    currency: 'USD'\n});\n```\n\n### Virtual Accounts\n\n```typescript\nconst account = await client.createVirtualAccount({\n    country: 'US',\n    currency: 'USD',\n    description: 'Business Account'\n});\n```\n\n## Error Handling\n\n```typescript\ntry {\n    const payment = await client.createPayment({\n        amount: 100,\n        currency: 'USD',\n        payment_method: 'us_debit_card'\n    });\n} catch (error) {\n    console.error('Payment failed:', error.message);\n}\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create your branch (`git checkout -b feature/amazing`)\n3. Commit changes (`git commit -m 'Add feature'`)\n4. Push (`git push origin feature/amazing`)\n5. Open a Pull Request\n\n## Support\n\n- Issues: [GitHub Issues](https://github.com/stawuah/rapyd-ts-sdk/issues)\n- Email: nobudev20@gmail.com\n- Documentation: [Wiki](https://github.com/yourusername/rapyd-typescript-sdk/wiki)\n\n## License\n\nMIT © [LICENSE](https://github.com/stawuah/rapyd-ts-sdk/blob/main/LICENSE)\n\n---\nBuilt with ❤️ by Awuah, Hunt","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstawuah%2Frapyd-ts-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstawuah%2Frapyd-ts-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstawuah%2Frapyd-ts-sdk/lists"}