-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Plugin] Printify/Stripe integration (#1593)
Living Doc: #1562 ### Currency Printify has two currency settings; - catalog currency: This is the currency in which we can view different product prices in Printify's catalog. - billing currency : This is the currency in which the shop owner will be charged by Printify. We can find further details about it over Printify webpage. [LINK 1](https://help.printify.com/hc/en-us/articles/12203640151953-How-can-I-change-the-currency-on-Printify-), [LINK 2](https://help.printify.com/hc/en-us/articles/4483625794577-In-which-currency-can-I-sell-my-products-) The Printify's products API does not provide any details regarding the `currency` being used. It only returns the price in figures. <img width="1003" alt="Screenshot 2023-05-26 at 4 54 58 PM" src="https://github.com/restarone/violet_rails/assets/25191509/8a66cb17-3a2c-45ee-a309-62d0f118f783"> So, to overcome this barrier, we would have to manually set the `currency`, which is being used or has been setup in Printify platform, in Violet-Rails end. It will be saved under a `shop` api-resource's properties as below; [TEST-NET LINK](https://violet-test.net/api_namespaces/53/resources/709) <img width="1212" alt="Screenshot 2023-05-26 at 5 12 42 PM" src="https://github.com/restarone/violet_rails/assets/25191509/f3a274e2-d071-4e0b-b7a2-5561251fa85c"> This `currency` information will be used to show the prices in products-listing, product-detail, cart and Stripe's checkout page. **Note:** For now, we are using `USD` currency over the test-net. ## HOW TO RUN PRINTIFY PLUGIN INSTALER SCRIPT #1557 ### Export variables - cd to violet_rails root **Required Variables** - `export SHOP_NAME="Restarone"` - `export PRINTIFY_API_KEY="your api key"` **Optional Variables** - `export STRIPE_SECRET_KEY="your stripe secret key"` - `export PRODUCTS_PAGE_SLUG="your products page url"` - `export BUSINESS_NAME="your business name in printify account"` ### Run Installer **In development** - `docker-compose run --rm -e SHOP_NAME -e PRINTIFY_API_KEY -e STRIPE_SECRET_KEY -e PRODUCTS_PAGE_SLUG -e BUSINESS_NAME solutions_app rails r ./plugins/installers/printify_stripe_e_commerce.rb` **In production** - `rails r ./plugins/installers/printify_stripe_e_commerce.rb` **In test server with dokku** - `dokku run -e SHOP_NAME -e PRINTIFY_API_KEY -e STRIPE_SECRET_KEY -e PRODUCTS_PAGE_SLUG -e BUSINESS_NAME <APP_NAME> rails r ./plugins/installers/printify_stripe_e_commerce.rb` ### Variables #### SHOP_NAME: Name of the printify shop you want to sync to violet rails. <img width="1179" alt="Screenshot 2023-05-30 at 5 30 19 PM" src="https://github.com/restarone/violet_rails/assets/50227291/db5e432a-932c-490c-83e6-9a106ab38895"> <br/> #### PRINTIFY_API_KEY: https://github.com/restarone/violet_rails/assets/50227291/22a2853d-1d99-4fc0-8dc8-2a81e31eb67e <br/> #### STRIPE_SECRET_KEY: https://github.com/restarone/violet_rails/assets/50227291/1d92065c-c04c-4a45-a656-46017466429c <br/> #### BUSINESS_NAME: Business name in your printify account. https://github.com/restarone/violet_rails/assets/50227291/ce67a088-6412-4c02-8f68-1b2c8392e945 <br/> #### PRODUCTS_PAGE_SLUG: The url you want for your products list page. Default is 'products' https://github.com/restarone/violet_rails/assets/50227291/125c9681-84ac-49c6-ab7e-8e6d784abcbe <br/> # STORE MANAGEMENT ### How to hide product from the store: <img width="1184" alt="Screenshot 2023-06-04 at 9 12 04 AM" src="https://github.com/restarone/violet_rails/assets/50227291/313a23f8-4aad-46ee-9a8c-d00578517682"> https://github.com/restarone/violet_rails/assets/50227291/6698994e-1d33-4073-bc6e-6d18cd88a92c <br/> ### How to change who pays processing fees (Pass On to customer or Absorb Fees) If pass_processing_fees_to_customer is set to true, the Convenience fee, ie. the stripe processing fee (2.9% + $0.30) and stripe tax collection charge (0.5% if sales tax enabled) will be passed to customers <img width="1140" alt="Screenshot 2023-06-04 at 9 33 51 AM" src="https://github.com/restarone/violet_rails/assets/50227291/0e592bc6-68a6-4862-91b3-15303a3d4f19"> <img width="1229" alt="Screenshot 2023-06-04 at 9 34 32 AM" src="https://github.com/restarone/violet_rails/assets/50227291/02205dba-2870-4614-92b9-dd0f79feb0ac"> https://github.com/restarone/violet_rails/assets/50227291/6b703d35-7b29-437f-b49e-43947cb4e9b1 <br/> # DEBUGGING If any feature is not working, please check `shop_logs` namespace. We store error logs there. ### Stuck in `publishing` state? - Run sync_printify_products plugin https://github.com/restarone/violet_rails/assets/50227291/08e24d9f-b816-4cb8-9aa5-376f1771e7f1 ### How to check if Printify webhooks are created? - On rails console ``` PRINTIFY_API_KEY="your api key" ``` ``` PRINTIFY_HEADERS = { "Content-Type" => 'application/json;charset=utf-8', "Authorization" => "Bearer #{PRINTIFY_API_KEY}" } shop_id = ApiNamespace.friendly.find('shops').api_resources.first.properties['printify_shop_id'] response = HTTParty.get("https://api.printify.com/v1/shops/#{shop_id}/webhooks.json", headers: PRINTIFY_HEADERS) JSON.parse(response.body) ``` Co-authored-by: Prashant <[email protected]>
- Loading branch information
1 parent
a69e609
commit 865914b
Showing
38 changed files
with
6,838 additions
and
158 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
205 changes: 102 additions & 103 deletions
205
test/controllers/admin/comfy/api_namespaces_controller_test.rb
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.