Jump to content

Printful commerce integration


Recommended Posts

45 minutes ago, SC36DC said:

@breatheheavy can you share your thoughts on this? Have you implemented the plugin on your forum yet?

Appreciate you asking! 

I haven't gone live with it just yet as @Adrian A. and I are working on a few minor details - hence why I haven't said anything on IPS just yet, however it's been an absolute pleasure working with Adrian on this AND I am VERY excited to see how it performs! I think it's going to be epic! Stay tuuuuuned. 

Link to comment
4 hours ago, breatheheavy said:

Appreciate you asking! 

I haven't gone live with it just yet as @Adrian A. and I are working on a few minor details - hence why I haven't said anything on IPS just yet, however it's been an absolute pleasure working with Adrian on this AND I am VERY excited to see how it performs! I think it's going to be epic! Stay tuuuuuned. 

I appreciate the reply and look forward to what you guys come up with.

Body Roll Dancing GIF by Britney Spears

Link to comment
On 9/2/2020 at 7:07 AM, haqzore said:

Eagerly awaiting some reviews/feedback on this.

Thanks @Adrian A. for taking this on!

 

On 9/2/2020 at 11:46 AM, SJ77 said:

Waiting for the same, fairly excited about this.

 

On 9/2/2020 at 11:55 AM, SC36DC said:

@breatheheavy can you share your thoughts on this? Have you implemented the plugin on your forum yet?

 

Five stars! Please check out my review above ^ ️ 

Link to comment
11 hours ago, breatheheavy said:

 

 

 

Five stars! Please check out my review above ^ ️ 

Thanks.

Can you share a link to your site/store? Perhaps via PM if you don't want it public?

How does new product pushing work? Does Printful 'detect' IP.Commerce & send items there?

Link to comment
1 hour ago, haqzore said:

Thanks.

Can you share a link to your site/store? Perhaps via PM if you don't want it public?

How does new product pushing work? Does Printful 'detect' IP.Commerce & send items there?

Sure thing. However, the app is currently set to members only. Adrian mentioned he's making an update that will allow guests to view it as well. 

https://www.breatheheavy.com/exhale/index.php?/merch/

Regarding how the product pushing works, I will let @Adrian A. handle that, but as far as I can tell a member orders an item and Printful is notified. I can see the orders in my Printful dashboard. Pretty cool. 

Link to comment
3 hours ago, haqzore said:

How does new product pushing work? Does Printful 'detect' IP.Commerce & send items there?

No, those kind of API are not available for the public. 

To import products you need to go to the ACP, create some categories, and foreach category you select which products to import. This is a good thing if you already have a wordpress store for example, you need just to create your categories and then import your products.

Link to comment

HI,

I agree that guests should be able to see the store/products.

However beyond that I have some specific questions about how the payment integration and collection works.

  • Would I use my stripe account that is already included in IPS framework?
  • Or does printful do their own billing?
  • How Printful get their cut?
  • What happens if the customer has a Printful item and a specific to my site item in the cart at checkout? (A tee-shirt and a banner ad on my site for example)
  • What happens if the customer is unhappy.. suppose shipping is too slow or product is wrong?
  • Has anyone tested the actual product quality yet? Does it ship fast, is it as advertised?

Thank you 🙂

Link to comment

I can answer a few of your questions, those related to the dev process of the app, for the other, I guess you can do some research on the internet.

Would I use my stripe account that is already included in IPS framework?

Invoices and payments are managed by the IPS Commerce app, thats why you are required to own the IPS Commerce app in order to use my app, therefore any payment gateway will work ( even those custom ones from the market place ), although you have the option to select which ones are available in your merch store.

Does printful do their own billing? How Printful get their cut?

For printful you are the client, basically this is what is called drop shipping. You buy stuff from them, and sell it further at a higher price. So yeah on their website you can see how much the product costs on an invoice generated by them, that being the amount you subtract from the price at which you sold the merch on your website to find your earnings ( data already available along side each invoice in the app I created btw, also there are daily and monthly earnings statistics ).

So a selling process of merch on your website using this app would be something like this:

Someone buys some merch.

The app notifies printful of the order.

Printful generates the invoice for you and sends data about the invoice back to the app.

The app links internal invoice to printful's returned invoice, then tells printful to try and pay the invoice using the payment method available for your store in printful ( eg. You have a credit card linked to your printful account ). If payment fails or you have no payment method attached you will need then to manually go to printful's website and pay thw invoice before the process goes any further. If the invoice has been paid printful will do it's thing: print > pack > ship.

What happens if the customer has a Printful item and a specific to my site item in the cart at checkout? (A tee-shirt and a banner ad on my site for example)

Carts for this is is separate from the IPS Commerce app, couldn't make it work because of printful's shipping, but I will maybe try it again in the future as I might've been something. 

So basically they have different "checkout processes".

Sorry if I coud not get do a better job formatting this post, or messed some up words, it's been written from my phone.

Edited by Adrian A.
Link to comment
19 hours ago, Adrian A. said:

No, those kind of API are not available for the public. 

To import products you need to go to the ACP, create some categories, and foreach category you select which products to import. This is a good thing if you already have a wordpress store for example, you need just to create your categories and then import your products.

Can we also import directly from Printful?

Link to comment
12 hours ago, Adrian A. said:

What happens if the customer has a Printful item and a specific to my site item in the cart at checkout? (A tee-shirt and a banner ad on my site for example)

Carts for this is is separate from the IPS Commerce app, couldn't make it work because of printful's shipping, but I will maybe try it again in the future as I might've been something. 

Good questions, @SJ77. You had me until this bit.

Doctor Who Reaction GIF

One cart to rule them all. Looking forward to seeing you overcome this limitation.

Link to comment
15 hours ago, Adrian A. said:

I'm not quite sure I understand what you mean... You create your products using printful's website then come into your IPS ACP to import them.

You answered it.

 

With Wordpress integration, for example, you can push all product updates/addition/deletion straight from the Printful site to Wordpress, without ever leaving Printful.

Link to comment

Hi,

We haven't configured or used this yet but ran the support tool for something else and got this error:

There are some problems with your database. Normally it is safe to try to fix these problems automatically however if your community is large, you may want to run the necessary queries manually. If so, the queries to run are:

UPDATE `printfulintegration_invoices` SET `printful_order_total`=0 WHERE `printful_order_total` IS NULL;
ALTER TABLE `printfulintegration_invoices` CHANGE COLUMN `printful_order_total` `printful_order_total` FLOAT (20) NOT NULL DEFAULT 0 ;
Link to comment

Hi,

Just imported our first product and are getting this error:

SELECT price FROM `printfulintegration_variants` WHERE product_id=1 ORDER BY CAST(JSON_UNQUOTE(JSON_EXTRACT(price, '$.default.value')) AS DECIMAL(4,2)) ASC LIMIT 0,1
IPS\Db\Exception: FUNCTION badhabi5_footforum.JSON_UNQUOTE does not exist (1305)
#0 /home/badhabi5/public_html/system/Db/Select.php(383): IPS\_Db->preparedQuery('/*badhabi5_foot...', Array, true)
#1 /home/badhabi5/public_html/system/Db/Select.php(441): IPS\Db\_Select->runQuery()
#2 /home/badhabi5/public_html/system/Db/Select.php(365): IPS\Db\_Select->rewind()
#3 /home/badhabi5/public_html/applications/printfulintegration/sources/Product/Product.php(163): IPS\Db\_Select->first()
#4 /home/badhabi5/public_html/system/Node/Model.php(1263): IPS\printfulintegration\_Product::constructFromData(Array)
#5 /home/badhabi5/public_html/system/Node/Model.php(1140): IPS\Node\_Model->children(NULL, NULL, true, NULL, Array)
#6 /home/badhabi5/public_html/system/Node/Model.php(1119): IPS\Node\_Model->childrenCount(NULL, NULL, true, Array)
#7 /home/badhabi5/public_html/system/Node/Model.php(1372): IPS\Node\_Model->hasChildren(NULL, NULL, true)
#8 /home/badhabi5/public_html/init.php(887) : eval()'d code(71): IPS\Node\_Model->getButtons(Object(IPS\Http\Url\Internal), false)
#9 /home/badhabi5/public_html/applications/printfulintegration/sources/Category/Category.php(93): IPS\Node\clubsenhancements_hook_ceNodeModel->getButtons(Object(IPS\Http\Url\Internal), false)
#10 /home/badhabi5/public_html/system/Node/Controller.php(199): IPS\printfulintegration\_Category->getButtons(Object(IPS\Http\Url\Internal), false)
#11 /home/badhabi5/public_html/system/Node/Controller.php(275): IPS\Node\_Controller->_getRow(2)
#12 /home/badhabi5/public_html/system/Helpers/Tree/Tree.php(135): IPS\Node\_Controller->_getChildren('2')
#13 /home/badhabi5/public_html/system/Node/Controller.php(92): IPS\Helpers\Tree\_Tree->__toString()
#14 /home/badhabi5/public_html/system/Dispatcher/Controller.php(101): IPS\Node\_Controller->manage()
#15 /home/badhabi5/public_html/init.php(887) : eval()'d code(14): IPS\Dispatcher\_Controller->execute()
#16 /home/badhabi5/public_html/system/Node/Controller.php(62): IPS\Dispatcher\hook3189->execute()
#17 /home/badhabi5/public_html/system/Dispatcher/Dispatcher.php(152): IPS\Node\_Controller->execute()
#18 /home/badhabi5/public_html/admin/index.php(14): IPS\_Dispatcher->run()
#19 {main}

 

Backtrace

 

#0 /home/badhabi5/public_html/init.php(989): IPS\_Log::log('SELECT price FR...', 'uncaught_except...')
#1 /home/badhabi5/public_html/system/Helpers/Tree/Tree.php(166): IPS\IPS::exceptionHandler(Object(IPS\Db\Exception))
#2 /home/badhabi5/public_html/system/Node/Controller.php(92): IPS\Helpers\Tree\_Tree->__toString()
#3 /home/badhabi5/public_html/system/Dispatcher/Controller.php(101): IPS\Node\_Controller->manage()
#4 /home/badhabi5/public_html/init.php(887) : eval()'d code(14): IPS\Dispatcher\_Controller->execute()
#5 /home/badhabi5/public_html/system/Node/Controller.php(62): IPS\Dispatcher\hook3189->execute()
#6 /home/badhabi5/public_html/system/Dispatcher/Dispatcher.php(152): IPS\Node\_Controller->execute()
#7 /home/badhabi5/public_html/admin/index.php(14): IPS\_Dispatcher->run()
#8 {main}

Link to comment
On 9/23/2020 at 12:02 AM, Unlucky said:

Hi,

We haven't configured or used this yet but ran the support tool for something else and got this error:

There are some problems with your database. Normally it is safe to try to fix these problems automatically however if your community is large, you may want to run the necessary queries manually. If so, the queries to run are:


UPDATE `printfulintegration_invoices` SET `printful_order_total`=0 WHERE `printful_order_total` IS NULL;

ALTER TABLE `printfulintegration_invoices` CHANGE COLUMN `printful_order_total` `printful_order_total` FLOAT (20) NOT NULL DEFAULT 0 ;

Hi, thanks for your feedback,  I'll check it out.

9 minutes ago, Unlucky said:

Hi,

Just imported our first product and are getting this error:

SELECT price FROM `printfulintegration_variants` WHERE product_id=1 ORDER BY CAST(JSON_UNQUOTE(JSON_EXTRACT(price, '$.default.value')) AS DECIMAL(4,2)) ASC LIMIT 0,1
IPS\Db\Exception: FUNCTION badhabi5_footforum.JSON_UNQUOTE does not exist (1305)
#0 /home/badhabi5/public_html/system/Db/Select.php(383): IPS\_Db->preparedQuery('/*badhabi5_foot...', Array, true)
#1 /home/badhabi5/public_html/system/Db/Select.php(441): IPS\Db\_Select->runQuery()
#2 /home/badhabi5/public_html/system/Db/Select.php(365): IPS\Db\_Select->rewind()
#3 /home/badhabi5/public_html/applications/printfulintegration/sources/Product/Product.php(163): IPS\Db\_Select->first()
#4 /home/badhabi5/public_html/system/Node/Model.php(1263): IPS\printfulintegration\_Product::constructFromData(Array)
#5 /home/badhabi5/public_html/system/Node/Model.php(1140): IPS\Node\_Model->children(NULL, NULL, true, NULL, Array)
#6 /home/badhabi5/public_html/system/Node/Model.php(1119): IPS\Node\_Model->childrenCount(NULL, NULL, true, Array)
#7 /home/badhabi5/public_html/system/Node/Model.php(1372): IPS\Node\_Model->hasChildren(NULL, NULL, true)
#8 /home/badhabi5/public_html/init.php(887) : eval()'d code(71): IPS\Node\_Model->getButtons(Object(IPS\Http\Url\Internal), false)
#9 /home/badhabi5/public_html/applications/printfulintegration/sources/Category/Category.php(93): IPS\Node\clubsenhancements_hook_ceNodeModel->getButtons(Object(IPS\Http\Url\Internal), false)
#10 /home/badhabi5/public_html/system/Node/Controller.php(199): IPS\printfulintegration\_Category->getButtons(Object(IPS\Http\Url\Internal), false)
#11 /home/badhabi5/public_html/system/Node/Controller.php(275): IPS\Node\_Controller->_getRow(2)
#12 /home/badhabi5/public_html/system/Helpers/Tree/Tree.php(135): IPS\Node\_Controller->_getChildren('2')
#13 /home/badhabi5/public_html/system/Node/Controller.php(92): IPS\Helpers\Tree\_Tree->__toString()
#14 /home/badhabi5/public_html/system/Dispatcher/Controller.php(101): IPS\Node\_Controller->manage()
#15 /home/badhabi5/public_html/init.php(887) : eval()'d code(14): IPS\Dispatcher\_Controller->execute()
#16 /home/badhabi5/public_html/system/Node/Controller.php(62): IPS\Dispatcher\hook3189->execute()
#17 /home/badhabi5/public_html/system/Dispatcher/Dispatcher.php(152): IPS\Node\_Controller->execute()
#18 /home/badhabi5/public_html/admin/index.php(14): IPS\_Dispatcher->run()
#19 {main}

 

Backtrace

 

#0 /home/badhabi5/public_html/init.php(989): IPS\_Log::log('SELECT price FR...', 'uncaught_except...')
#1 /home/badhabi5/public_html/system/Helpers/Tree/Tree.php(166): IPS\IPS::exceptionHandler(Object(IPS\Db\Exception))
#2 /home/badhabi5/public_html/system/Node/Controller.php(92): IPS\Helpers\Tree\_Tree->__toString()
#3 /home/badhabi5/public_html/system/Dispatcher/Controller.php(101): IPS\Node\_Controller->manage()
#4 /home/badhabi5/public_html/init.php(887) : eval()'d code(14): IPS\Dispatcher\_Controller->execute()
#5 /home/badhabi5/public_html/system/Node/Controller.php(62): IPS\Dispatcher\hook3189->execute()
#6 /home/badhabi5/public_html/system/Dispatcher/Dispatcher.php(152): IPS\Node\_Controller->execute()
#7 /home/badhabi5/public_html/admin/index.php(14): IPS\_Dispatcher->run()
#8 {main}

What MySQL / MariaDB version are you using?

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...