We have an web hook being enabled on "Order Creation" event. The json response which we used to receive earlier gave a parameter "gateway" holding information about payment gateway being chosen by customer. But now for orders being created from last Friday 24th April 2015, we are not getting this parameter, instead we are getting a parameter "financial status" with value "pending". We need this payment gateway Method ex. "Paypal", "COD", "Bank Transfer", as we display this on on invoice being printed.
Suggestion from shopify team says "gateway" field is now deprecated in "Order Creation" and we should use now following link to fetch it. https://spskids.myshopify.com/admin/orders/315026241/transactions.json
We created an another webhook for payment gateway on "Order Payment" event and trying to call it from my 3rdy party website.
But issue is we want to call this from a third party website, When I do so it gives an error of unauthorized access. Please suggest how to fetch payment gateway.
Gateway parameter has recently been moved to transactions. And, transactions are not yet ready to be used with webhooks: https://docs.shopify.com/api/webhooks/using-webhooks
You should get the payment gateway by storing transaction resource on your end.
Related
I'm a developer and am new to Square.
We are going to enter sales into the Square app on iPads and I have to send the sales and payment information automatically and asap to NetSuite (a cloud ERP system)
I'm reading the API docs and can't see a way to run some code when a sales
order is created. Is there a way?
If the answer to 1 is no then which part of the API can I call periodically to request a list of all sales orders since the last time I asked?
Have you looked into using webhooks to be notified when a transaction takes place? Once you receive a notification from the webhook you can then call the appropriate endpoint to get the information you want to send to NetSuite.
Sometimes the PayPal API fails to give back a payout_id but still processes a payment (i.e. because the server is down).
I have some payments that I would like to fetch information for, but only have the batch_sender_id (the id that I gave each payment).
Is there a way to get the payment information with PayPal's API? There doesn't seem to be a way to fetch payments without the payout_id.
Resubmit with the same batch_sender_id, it should return html code 400 with a link to the resource that contains the previously submitted request. So before making a request to PayPal be sure to store the batch_sender_id so you can re-request later if you do not get a response.
I'm building a small cart app in PHP which needs to have PayPal integrated into it for payments.
Checking the PP developer site you get 100 different APIs for every kind of job, however there is no clear answer as to which is the GENERIC API I should use to accept payments in the classic manner most webshops implement:
1. Client clicks pay
2. Redirected to PP site where he is asked to login.
3. After login he is presented with confirmation, he clicks OK.
4. Browser redirects back to my cart which presents user with a "Thank you" message, order code etc, while in the background a request is sent to my cart with the transaction credentials (transaction id, success status etc).
By the way, I'm not looking for Express Checkout since in this case PP provides the shipping info.
You could use the DoDirectPayment API to process payments. This will keep the buyer on your site, and they will enter in the information on your site. Then you will pass the details over to PayPal through an API call, and PayPal will then send the response back to you if the payment is approved.
If you are not wanting to use the DoDirectPayment API and are wanting to direct the buyer over to PayPal's pages to complete the payment but do not want to use Express Checkout, you could use PayPal Payments Adv/Payflow.
Express Checkout is what you want. Shipping info can be set on your end or Paypal end. It makes no difference.
Shopify receives and stores information received from the gateway after a payment is made. It can be viewed in the orders page right at the bottom under Order History section. The words "customer successfully paid..." is a hyperlink. That information contains the authcode apart from some other credit card information. I just want the authcode. The webhook does not send this information in the xml data. Can you retrieve this through the API or is this not allowed? Thanks
Any gateway-specific info is provided through the receipt parameter on the Transactions API. If the token you're looking for isn't there, it's not available.
Thanks for your assistance. Apparently Shopify won't provide that information due to PCI compliance reasons. The payment provider that does the credit card processing will only send one response to Shopify and I was hoping I could get them to send me a response as well but that was wishful thinking on my part. The finance team will just have to log into Shopify and see that information if they need it.
In this picture,there are 3 main steps:SetExpressCheckout,GetExpressCheckoutDetails and DoExpressCheckoutDetails,I'm now sure SetExpressCheckout is to be called by myself,what about GetExpressCheckoutDetails and DoExpressCheckoutDetails,is it called by paypal or by myself?
The api is provided to be called by non-paypal I think,but the problem is seems it's redirected to paypal after calling SetExpressCheckout.
(source: paypal.com)
Yes, you are expected to be the one calling these APIs. After you call SetExpressCheckout, you'll get a token back that represents the checkout you're performing. You'll need to use that token and redirect the user to Paypal to approve the payment. After they approve it, Paypal will redirect back to your site and then you can call GetExpressCheckoutDetails and/or DoExpressCheckoutPayment. The GetExpressCheckoutDetails call is useful for getting things like shipping address, etc, since the buyer can set that stuff as part of the approval flow. Once you have all the info you need, the buyer has approved the payment and you're ready to get paid, then call DoExpressCheckoutPayment to get your money.
See the ExpressCheckout docs for an example of a simple integration.