Ruby bindings for the Splash Payments API
A ruby library for Pesepay Payment Gateway API.
Paytrail Merchant API allows merchant to create and delete refunds for payments made via Paytrail
Performing multiple payments to PayPal using the MassPay API
Defines ruby classes for the Splash Payments API
The gem abstracts away the low-level details of the API, providing a simple and intuitive interface for sending payment requests, checking payment status, and managing payment callbacks
Provides complete access to PayPal's Adaptive Payments API
Ruby client to process mobile payment with Orange Money webpay API.
toss payments api
Custom payments for your custom app. Api client for Payment Highway
API to integrate POLi payment gateway -- http://www.polipayments.com
Solidus extension for processing credit card payments using Conekta API
subsify is a Ruby client for the Subsify Subscription Payment API.
A simple ruby wrapper for the bitgram.io payment processing API
Kaznachey payments api
Uses blockchain.info's json API to generate 'checkout wallets' that can be associated with sales or customers. Your are notified when payments are made in multiple ways.
Uses blockchain.info's json API to generate 'checkout wallets' that can be associated with sales or customers. Your are notified when payments are made in multiple ways.
iyzipay api ruby client for subscriptions feature. You can sign up for an iyzico account at https://iyzico.com
A simple gem for creating customers and charges using pin-payments (pin.net.au) API
API client library for DIDWW payment gateway (UPS)
An API for using the Amazon Flexible Payment Service (FPS).
A ruby gem for integration of your backend with the payment services provided by Efí Pay
Ruby client library for the Contact Payment System API
Payulatam payments gatewat API gem
Moncash sdk to perform and retieve payment to moncash api
Ruby client for Payments HTTP API
This Ruby Gem is the official reference client for the CryptoWallet.com payments API. To use this, you will need the Bitcoin API key from cryptowallet.com. Go ahead, sign up :)
RESTful API for the creation of Commerce Cases with Checkouts and the execution of Payments.
The APIs detailed within this SDK will enable Shell's Fleet Solutions Customers to digitalize Shell Card/s and use them to pay to refuel their vehicles at Shell Stations.
This is the gem for unitpay payment api
A ruby wrapper for Yapstone's Payment APIs
The PayPal Button Manager SDK provides Ruby APIs to create, and manage PayPal Payments Standard buttons programmatically.
payment help returns you with the strings of information depending on the profile details and your order total price with help of bank api database
Process your payment through Dragonpay API
This API supports all services required to make cross border payments using Earthport's network.
API wrapper for Sinopac E-Commerce Payment APIs.
API wrapper for Sinopac E-Commerce Payment APIs.
Affix provides an unified API to access different payment gateways in Indonesia.
REST API Client for iPay payment gateway
A small Ruby library for interaction with the CX Pay Payment API.
API Wrapper for SinoPac FunBiz Payment
HyperPay is a wrapper around HyperPay Copy And Pay API. It provides a simple way to integrate with HyperPay's MENA payment gateway.
Use the Tester Stripped API to manage business including payment. customer, product and inventory management.
Payments API Ruby Gem
Paychangu is a Ruby gem that allows you to interact with Paychangu.com's API and perform several operations like: creating payment links, creating virtual cards etc
# Payfast Payfast is a Ruby gem that simplifies the process of integrating the PayFast payment gateway into your Ruby on Rails application. It provides a generator that helps scaffold the necessary configuration, routes, models, and controllers required to integrate PayFast seamlessly. ## Demo ![Peek 2023-08-24 12-15](https://github.com/mactunechy/payfast/assets/37017264/270cf0ab-d453-43ca-9a9a-8b8195dc6b8f) ## Installation Add this line to your application's Gemfile: ```bash bundle add payfast ``` ## Usage ```bash rails generate payfast:install ``` ## This generator will perform the following actions: insert config/routes.rb create app/controllers/carts_controller.rb create app/views/carts/index.html.erb create app/views/carts/make_payment.html.erb create app/helpers/carts_helper.rb create db/migrate/20230824105530_create_carts.rb create config/payfast.yml create app/models/cart.rb insert app/views/layouts/application.html.erb insert config/environments/development.rb ## Additional configuration Setup payfast credentials for your environment rails EDITOR="code --wait" bin/rails credentials:edit This will allow you to securely edit and store your credentials. once you save and exit the file, the credentials will be encrypted and can only be accessed withe rails master key. payfast: merchant_id: {your_merchant_id} merchant_key: {your_merchant_key} passphrase: {{your_passphrase}} ## Update your `payfast.yml` config file - setup the credentials to be use by the rails app - uncomment `Rails.application.credentials.payfast.merchant_id ` and wrap it in erb tags as instructed in the comments. ## Templates Update the `make_payment.html.erb` as instructed in the file. it should look like so: ```js <script> // set the uuid to uuid = @cart.payment_uid. surround @carts.payment_uid with erb tags const uuid = `<%= @cart.payment_uuid %>` window.payfast_do_onsite_payment({uuid}, function (result) { if (result === true) { // redirect success_path(@cart) window.location.href = `<%= success_cart_path(@cart) %>` } else { // Redirect to failure_path(@cart) window.location.href = `<%= failure_cart_path(@cart) %>` } }); </script> ``` ## Testing - payfast api allows only SSL communication from your server. inorder to test locally. you will have to use a tunneling service that allows you to expose your local development server to the internet. your rails development config has was modified by the generator to allow ngrok hosts to hit your rails server ```ruby config.hosts << /[a-z0-9-]+\.ngrok-free\.app/ ``` ## Contributing Thank you for considering contributing to our project! We welcome contributions from the community to help improve this project and make it better for everyone. ### Issues If you encounter any issues or bugs while using our project, please [open a new issue](https://github.com/mactunechy/payfast/issues) on GitHub. Please make sure to include detailed information about the problem, steps to reproduce it, and the environment in which you encountered it. ### Pull Requests We encourage pull requests from the community! If you have an improvement or new feature you'd like to contribute, please follow these steps: 1. Fork the repository and create a new branch for your feature or bug fix. 2. Make your changes and write tests to cover any new functionality. 3. Ensure that the existing tests pass and write additional tests for any bug fixes. 4. Commit your changes and push the new branch to your forked repository. 5. Submit a pull request to our main repository, including a detailed description of the changes you made and any relevant information. We will review your pull request as soon as possible and provide feedback if needed. We value your contributions and will work with you to ensure your changes are integrated smoothly. d Your contributions are essential to the success of this project, and we are grateful for your help in making it better for everyone. If you have any questions or need further assistance, feel free to reach out to us. Happy coding!