https://github.com/solidusio-contrib/solidus_virtual_gift_card
Virtual gift cards for your Solidus store.
https://github.com/solidusio-contrib/solidus_virtual_gift_card
ecommerce extension gift-cards solidus store-credit
Last synced: about 1 year ago
JSON representation
Virtual gift cards for your Solidus store.
- Host: GitHub
- URL: https://github.com/solidusio-contrib/solidus_virtual_gift_card
- Owner: solidusio-contrib
- License: bsd-3-clause
- Created: 2015-06-22T20:44:32.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2025-03-11T08:32:06.000Z (about 1 year ago)
- Last Synced: 2025-03-31T08:07:55.198Z (about 1 year ago)
- Topics: ecommerce, extension, gift-cards, solidus, store-credit
- Language: Ruby
- Homepage:
- Size: 474 KB
- Stars: 32
- Watchers: 8
- Forks: 45
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
Solidus - Virtual Gift Card
===========================
[](https://circleci.com/gh/solidusio-contrib/solidus_virtual_gift_card)
A virtual gift card implementation for Solidus.
* Allows setup of virtual gift card products that get unique codes upon
purchase.
* The virtual gift card codes can be used to add store credit to a user's
account.
Installation
------------
In your Gemfile:
```ruby
gem "solidus_virtual_gift_card"
```
Bundle your dependencies and run the installation generator:
```shell
bundle install
bundle exec rails g solidus_virtual_gift_card:install
```
Use Gift Card during Checkout
-----------------------------
1) Visit /admin/payment_methods and add the Gift Card payment method. It should not be available to Users or Admins.
2) During checkout, you can call the API POST /api/orders/:order_id/gift_card_codes(.:format) to add gift card codes to the order.
3) At the finalization step, the gift cards listed on the order will be used as payment.
Add expire job
--------------
If you want to change the configuration, you can add the following to an initializer:
SolidusVirtualGiftCard::Config.tap do |config|
# Amount of time after which the authorized transaction should be voided
config.authorize_timeout = 1.month
config.schedule_job_class = 'SolidusVirtualGiftCard::VoidExpiredAuthorizedEventsJob'
end
The last step in the installation process is to configure the SolidusVirtualGiftCard::VoidExpiredAuthorizedEventsJob background job to run regularly. There are different ways to do this depending on the environment your application is running in: Heroku Scheduler, cron etc.
Authorization
-------------
For discrete authorization, two permission sets have been added to allow for granular display in the admin.
`Spree::PermissionSets::VirtualGiftCardDisplay` and `Spree::PermissionSets::VirtualGiftCardManagement` have been added and can be registered via [RoleConfiguration](http://docs.solidus.io/Spree/RoleConfiguration.html)
Testing
-------
First bundle your dependencies, then run `rake`. `rake` will default to
building the dummy app if it does not exist, then it will run specs. The dummy
app can be regenerated by using `rake test_app`.
```shell
bundle
bundle exec rake
```
When testing your application's integration with this extension you may use its
factories. Simply add this require statement to your spec_helper:
```ruby
require "solidus_virtual_gift_card/factories"
```