example-mobile-backend icon indicating copy to clipboard operation
example-mobile-backend copied to clipboard

create_payment_intent always returns 500

Open mrcflorian opened this issue 5 years ago • 13 comments

It seems this repo stopped working with the latest Stripe releases. I'm testing it against the latest standard integration example. The heroku server returns 500 all the time for create_payment_intent endpoint. Any ideas?

Here are the logs:

2019-11-12T03:03:59.761288+00:00 app[web.1]: 2019-11-12 03:03:59 - TypeError - nil can't be coerced into Integer:
2019-11-12T03:03:59.761297+00:00 app[web.1]: web.rb:348:in `+'
2019-11-12T03:03:59.761300+00:00 app[web.1]: web.rb:348:in `block in calculate_price'
2019-11-12T03:03:59.761302+00:00 app[web.1]: web.rb:348:in `each'
2019-11-12T03:03:59.761304+00:00 app[web.1]: web.rb:348:in `reduce'
2019-11-12T03:03:59.761306+00:00 app[web.1]: web.rb:348:in `calculate_price'
2019-11-12T03:03:59.761309+00:00 app[web.1]: web.rb:213:in `block in <main>'
2019-11-12T03:03:59.761312+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1635:in `call'
2019-11-12T03:03:59.761314+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1635:in `block in compile!'
2019-11-12T03:03:59.761316+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:992:in `block (3 levels) in route!'
2019-11-12T03:03:59.761318+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1011:in `route_eval'
2019-11-12T03:03:59.761320+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:992:in `block (2 levels) in route!'
2019-11-12T03:03:59.761323+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1040:in `block in process_route'
2019-11-12T03:03:59.761325+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1038:in `catch'
2019-11-12T03:03:59.761327+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1038:in `process_route'
2019-11-12T03:03:59.761329+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:990:in `block in route!'
2019-11-12T03:03:59.761331+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:989:in `each'
2019-11-12T03:03:59.761333+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:989:in `route!'
2019-11-12T03:03:59.761335+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1097:in `block in dispatch!'
2019-11-12T03:03:59.761337+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1076:in `block in invoke'
2019-11-12T03:03:59.761339+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1076:in `catch'
2019-11-12T03:03:59.761341+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1076:in `invoke'
2019-11-12T03:03:59.761343+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1094:in `dispatch!'
2019-11-12T03:03:59.761344+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:924:in `block in call!'
2019-11-12T03:03:59.761346+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1076:in `block in invoke'
2019-11-12T03:03:59.761348+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1076:in `catch'
2019-11-12T03:03:59.761350+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1076:in `invoke'
2019-11-12T03:03:59.761352+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:924:in `call!'
2019-11-12T03:03:59.761354+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:913:in `call'
2019-11-12T03:03:59.761356+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/encrypted_cookie-0.0.5/lib/encrypted_cookie.rb:52:in `call'
2019-11-12T03:03:59.761358+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/xss_header.rb:18:in `call'
2019-11-12T03:03:59.761360+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/path_traversal.rb:16:in `call'
2019-11-12T03:03:59.761362+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/json_csrf.rb:26:in `call'
2019-11-12T03:03:59.761364+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/base.rb:50:in `call'
2019-11-12T03:03:59.761366+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/base.rb:50:in `call'
2019-11-12T03:03:59.761368+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/frame_options.rb:31:in `call'
2019-11-12T03:03:59.761370+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/logger.rb:15:in `call'
2019-11-12T03:03:59.761372+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/common_logger.rb:33:in `call'
2019-11-12T03:03:59.761374+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:231:in `call'
2019-11-12T03:03:59.761376+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:224:in `call'
2019-11-12T03:03:59.761377+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/head.rb:12:in `call'
2019-11-12T03:03:59.761379+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/method_override.rb:22:in `call'
2019-11-12T03:03:59.761381+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:194:in `call'
2019-11-12T03:03:59.761383+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1957:in `call'
2019-11-12T03:03:59.761385+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1502:in `block in call'
2019-11-12T03:03:59.761387+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1729:in `synchronize'
2019-11-12T03:03:59.761389+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1502:in `call'
2019-11-12T03:03:59.761391+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/handler/webrick.rb:86:in `service'
2019-11-12T03:03:59.761393+00:00 app[web.1]: /app/vendor/ruby-2.5.3/lib/ruby/2.5.0/webrick/httpserver.rb:140:in `service'
2019-11-12T03:03:59.761403+00:00 app[web.1]: /app/vendor/ruby-2.5.3/lib/ruby/2.5.0/webrick/httpserver.rb:96:in `run'
2019-11-12T03:03:59.761405+00:00 app[web.1]: /app/vendor/ruby-2.5.3/lib/ruby/2.5.0/webrick/server.rb:307:in `block in start_thread'
2019-11-12T03:03:59.761788+00:00 app[web.1]: 98.234.84.197 - - [12/Nov/2019:03:03:59 +0000] "POST /create_payment_intent HTTP/1.1" 500

mrcflorian avatar Nov 12 '19 03:11 mrcflorian

I'm also facing same issue, create_payment_intent always returns status code 500.

Any help would be appreciated!

SagarUnagar avatar Nov 21 '19 04:11 SagarUnagar

I'm having trouble reproducing this, but it looks like one of the Emoji in our fake Emoji store is missing from the list in the .rb file, or there's some sort of issue with the unicode in the request. Is this on iOS or Android?

davidme-stripe avatar Nov 21 '19 20:11 davidme-stripe

Hi @davidme-stripe, This is on iOS.

SagarUnagar avatar Nov 22 '19 04:11 SagarUnagar

Any update on this issue? @davidme-stripe

SagarUnagar avatar Nov 25 '19 11:11 SagarUnagar

@SagarUnagar PR #75 is a proposed fix for this issue

mshafrir-stripe avatar Nov 25 '19 14:11 mshafrir-stripe

Can you try the latest master branch of this server? It logs a better error message to the console so we can tell what’s going on.

davidme-stripe avatar Nov 25 '19 15:11 davidme-stripe

@mshafrir-stripe @david-stripe I'm still facing same issue. I deployed as mentioned in the documentation and followed all steps. It also deployed successfully on Heroku.

Now I'm calling using MY_APP_URL/create_payment_intent and getting 500 response from a server.

Is there anything missing here?

SagarUnagar avatar Dec 23 '19 05:12 SagarUnagar

@SagarUnagar, can you check your Heroku logs for "Can't find price for"? (It's in "More ↕︎" -> "View Logs" on your Heroku dashboard.) We're still unable to reproduce this internally, so I'm hoping the new log message will help.

davidme-stripe avatar Dec 23 '19 17:12 davidme-stripe

Hi @davidme-stripe

Here are logs,

2019-12-24T11:36:33.495541+00:00 heroku[router]: at=info method=POST path="/ephemeral_keys?api_version=2019-05-16" host=sheepment.herokuapp.com request_id=1f0700c7-b27b-4f74-8357-4b6757aa8caf fwd="219.91.239.85" dyno=web.1 connect=1ms service=5415ms status=200 bytes=857 protocol=https 2019-12-24T11:36:33.494033+00:00 app[web.1]: 219.91.239.85 - - [24/Dec/2019:11:36:33 +0000] "POST /ephemeral_keys?api_version=2019-05-16 HTTP/1.1" 200 295 5.4108 2019-12-24T11:36:33.494379+00:00 app[web.1]: 10.52.9.178 - - [24/Dec/2019:11:36:28 UTC] "POST /ephemeral_keys?api_version=2019-05-16 HTTP/1.1" 200 295 2019-12-24T11:36:33.494413+00:00 app[web.1]: - -> /ephemeral_keys?api_version=2019-05-16 2019-12-24T11:36:42.994191+00:00 heroku[router]: at=info method=POST path="/create_payment_intent" host=sheepment.herokuapp.com request_id=58c13ccc-0dfa-485c-a898-39317ba50de2 fwd="219.91.239.85" dyno=web.1 connect=1ms service=194ms status=500 bytes=683 protocol=https 2019-12-24T11:36:42.990710+00:00 app[web.1]: 2019-12-24 11:36:42 - RuntimeError - Can't find price for Sheep (53): 2019-12-24T11:36:42.990725+00:00 app[web.1]: web.rb:346:inprice_lookup' 2019-12-24T11:36:42.990727+00:00 app[web.1]: web.rb:354:in block in calculate_price' 2019-12-24T11:36:42.990729+00:00 app[web.1]: web.rb:354:in each' 2019-12-24T11:36:42.990731+00:00 app[web.1]: web.rb:354:in reduce' 2019-12-24T11:36:42.990733+00:00 app[web.1]: web.rb:354:in calculate_price' 2019-12-24T11:36:42.990735+00:00 app[web.1]: web.rb:213:in block in <main>' 2019-12-24T11:36:42.990737+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1635:in call' 2019-12-24T11:36:42.990739+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1635:in block in compile!' 2019-12-24T11:36:42.990742+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:992:in block (3 levels) in route!' 2019-12-24T11:36:42.990743+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1011:in route_eval' 2019-12-24T11:36:42.990745+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:992:in block (2 levels) in route!' 2019-12-24T11:36:42.990747+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1040:in block in process_route' 2019-12-24T11:36:42.990749+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1038:in catch' 2019-12-24T11:36:42.990751+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1038:in process_route' 2019-12-24T11:36:42.990753+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:990:in block in route!' 2019-12-24T11:36:42.990755+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:989:in each' 2019-12-24T11:36:42.990758+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:989:in route!' 2019-12-24T11:36:42.990760+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1097:in block in dispatch!' 2019-12-24T11:36:42.990762+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1076:in block in invoke' 2019-12-24T11:36:42.990764+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1076:in catch' 2019-12-24T11:36:42.990766+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1076:in invoke' 2019-12-24T11:36:42.990768+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1094:in dispatch!' 2019-12-24T11:36:42.990770+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:924:in block in call!' 2019-12-24T11:36:42.990772+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1076:in block in invoke' 2019-12-24T11:36:42.990774+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1076:in catch' 2019-12-24T11:36:42.990776+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1076:in invoke' 2019-12-24T11:36:42.990778+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:924:in call!' 2019-12-24T11:36:42.990780+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:913:in call' 2019-12-24T11:36:42.990782+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/encrypted_cookie-0.0.5/lib/encrypted_cookie.rb:52:in call' 2019-12-24T11:36:42.990784+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/xss_header.rb:18:in call' 2019-12-24T11:36:42.990786+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/path_traversal.rb:16:in call' 2019-12-24T11:36:42.990788+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/json_csrf.rb:26:in call' 2019-12-24T11:36:42.990794+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/base.rb:50:in call' 2019-12-24T11:36:42.990796+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/base.rb:50:in call' 2019-12-24T11:36:42.990798+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-protection-2.0.5/lib/rack/protection/frame_options.rb:31:in call' 2019-12-24T11:36:42.990800+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-2.0.8/lib/rack/logger.rb:15:in call' 2019-12-24T11:36:42.990802+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-2.0.8/lib/rack/common_logger.rb:33:in call' 2019-12-24T11:36:42.990805+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:231:in call' 2019-12-24T11:36:42.990807+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:224:in call' 2019-12-24T11:36:42.990809+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-2.0.8/lib/rack/head.rb:12:in call' 2019-12-24T11:36:42.990811+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-2.0.8/lib/rack/method_override.rb:22:in call' 2019-12-24T11:36:42.990813+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:194:in call' 2019-12-24T11:36:42.990814+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1957:in call' 2019-12-24T11:36:42.990816+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1502:in block in call' 2019-12-24T11:36:42.990818+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1729:in synchronize' 2019-12-24T11:36:42.990820+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/sinatra-2.0.5/lib/sinatra/base.rb:1502:in call' 2019-12-24T11:36:42.990823+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/rack-2.0.8/lib/rack/handler/webrick.rb:86:in service' 2019-12-24T11:36:42.990831+00:00 app[web.1]: /app/vendor/ruby-2.5.3/lib/ruby/2.5.0/webrick/httpserver.rb:140:in service' 2019-12-24T11:36:42.990834+00:00 app[web.1]: /app/vendor/ruby-2.5.3/lib/ruby/2.5.0/webrick/httpserver.rb:96:in run' 2019-12-24T11:36:42.990836+00:00 app[web.1]: /app/vendor/ruby-2.5.3/lib/ruby/2.5.0/webrick/server.rb:307:in `block in start_thread' 2019-12-24T11:36:42.992301+00:00 app[web.1]: 219.91.239.85 - - [24/Dec/2019:11:36:42 +0000] "POST /create_payment_intent HTTP/1.1" 500 30 0.1898 2019-12-24T11:36:42.992996+00:00 app[web.1]: 10.52.9.178 - - [24/Dec/2019:11:36:42 UTC] "POST /create_payment_intent HTTP/1.1" 500 30 2019-12-24T11:36:42.993005+00:00 app[web.1]: - -> /create_payment_intent

`

SagarUnagar avatar Dec 24 '19 11:12 SagarUnagar

@SagarUnagar, did you customize the Basic Integration app to add a 🐑? You'll want to add it to the EMOJI_STORE array in web.rb, as the pricing is determined by the server.

We should probably make this more obvious, I'll look into adding better messaging around this.

davidme-stripe avatar Dec 24 '19 17:12 davidme-stripe

@davidme-stripe Thanks for your response. :)

Sorry, I didn't get you what's the exact issue? I'm not a web guy, I'm a mobile developer. Can you please explain to me what is the cause of this issue? And what is a possible solution?

SagarUnagar avatar Dec 25 '19 11:12 SagarUnagar

@SagarUnagar No problem! We tried to make the Basic Integration app similar to a real store, so the prices are determined by the server instead of the client. If the prices were determined solely by the client, a user could hack their phone to change what price is charged.

This error is happening because the server doesn't know what the price of your item (🐑) should be. To fix this:

  1. Clone this example-ios-backend repo to your local machine: git clone https://github.com/stripe/example-ios-backend.git
  2. Open web.rb in Xcode, and go to the EMOJI_STORE line (line 325)
  3. Add lines for your own items, as so:
  "🍏" => 800,
  "🐑" => 200,
  1. Go to the "Deploy" tab in your app in Heroku, which will give you instructions for deploying the change. (It seems like it's at https://dashboard.heroku.com/apps/sheepment/deploy/heroku-git judging from your logs.) It'll probably be something like:
brew install heroku
cd example-ios-backend
heroku login
heroku git:remote -a sheepment
git add .
git commit -am "add new emoji"
git push heroku master

Once you've pushed to heroku master, Heroku will (after a few minutes) be running your updated server with the new items.

Hope that helps!

davidme-stripe avatar Dec 25 '19 17:12 davidme-stripe

@davidme-stripe the problem: when using this method I simply clicked on the purple icon and proceeded to enter my info and created a backendUrl to be used for my app. All works except when it comes to processing the payment as my inventory items(located in firebase) are not able to be retrieved. Therefore, when placing order I get this in swift: "Failed to create a Payment Intent: unknown"

After getting this error I examined the logs in Heroku and came across this: RuntimeError - Can't find price for Guacamole

so it seems that the payment isn't going through because it can not retrieve the price for this item.

Finally I figure I just add "Guacamole" => 2000 to the list above and run it.

SADLY this did not work. I have no prior experience with ruby but when I applied the above to the list I still got the same error: RuntimeError - Can't find price for Guacamole

I did basically what you commented above but it is unable to retrieve prices for items I add to the EMOJI_StORE

aaron-76 avatar Apr 02 '20 21:04 aaron-76