Not getting 'Pending' payments in GetSellerPayments for half.com API - ebay-api

Posted this on the eBay API developer forum several weeks ago with no useful answers. I am working with the GetSellerPayments API for half.com. Getting an API response back on "Paid" payments works fine but I am looking to get "Pending" payments as documented here: Half.com API GetSellerPayments API Documentation working as well.
Using API levels 913 thru 933 all same no joy behavior.
Simple request change of XML tag PaymentStatus from Paid to Pending:
<PaymentStatus>Pending</PaymentStatus>
With "Paid" things work fine, with Pending no records found. I have manually verified the seller account does in fact have pending payments at half.com. And I have manually verified the date range for the payment period is correct and works at the half.com website.
Anyone have experience with this specific call on half?

This started working in API level 941

Related

Getting issue in Amazon affiliate Product API to fetch products from amazon

We are using Amazon affiliate Product Advertising API to fetch products from amazon. The account & API KEY was working when we implemented at first time till 1 month but after that we tried again for further project development it stopped working and always displaying below error:
AWS Access Key ID: XXXXXXXXXXXXXXXX. You are submitting requests too quickly. Please retry your requests at a slower rate.
Tried again and again. then finally we decided to create one more API KEY with same account but in this case on first attempt we again got same error.
After this we go to Amazon chat support but didn't find any specific solution. but they said 
Each account used for Product Advertising API is allowed an initial usage limit up to a maximum of 1 request per second and a cumulative daily maximum of 8640 requests per day (TPD) for the first 30-day period after your account has been approved. Following that period, your PA API usage limit will solely be based on your shipped item revenue. Your account will earn a usage limit of 1 TPD for every 5 cents or 1 TPS (up to a maximum of 10 TPS) for every $4320 of shipped item revenue generated via the use of Product Advertising API for shipments in the previous 30-day period.
But now the problem is we are in the development stage and can't generate the revenue. also there is no Testing/Sandbox environment.
Looks like you have used all your usage limit for the account. So to make new requests you'll need to generate some revenue from your account.
I would advice you to test your product with a dummy API that generates the same response as PA API.
You may get some ideas from the tests written in this library: https://github.com/utekaravinash/gopaapi5
If you need more help you can go through this article to understand how API requests work: https://www.utekar.com/amazon-product-advertising-api-5-go-client-library-gopaapi/
Disclaimer: I'm the author of this open sourced library and it's written in Golang.

Shopify - inventory_quantity deprecation notification

I am using Shopify Admin REST API for item and inventory sync and I am not sending inventory_quantity field in variants API, but I received following email from Shopify few days ago. I am also sending correct location_id when creating fulfillment and it is created successfully in Shopify.
The location_id field is now required when creating fulfillment and
refund requests.
Inventory_quantity and inventory_quantity_adjustment
can no longer be set on the product variant.
Deprecated in 2019-10 and support will be removed on July 1, 2020
I wanted to know if the email above is a generic email sent by Shopify to all developers? or am I doing something wrong here?
Ignore it if you're sure that you don't use these deprecated attributes anymore. I think they recently introduced this notification system which sends warnings to developers if they detected any deprecated calls in the past. They just alert you, they don't scan your app code so they don't know whether you fixed the issue or not. I was getting similar warnings despite that I was sure that the issue had been fixed earlier.
Anyway, to get peace of mind, go to the Apps area in your Shopify Partners account. The table that lists all your apps has now the API health column showing the status of your apps in terms of deprecated calls. You will see a warning (orange dot) if they detected any deprecated calls in the past 30 days. The warning is provided with some additional information like the last time the issue was detected and the deadline to fix it to, example. You can get more details about the deprecation by clicking on to the warning.
If it's a private app, just check your code again for using the deprecated attributes mentioned in the email.
You will want to check the new Inventory Level and Inventory Item endpoints in the Rest API. With a variant's inventory_item_id and a location ID, you can update inventory.
Clearly you can no longer just set a variant's inventory level. That went the way of the DODO this year.

Retrieve "Shopify Payments" fees by Order # for reconciliation with Accounting + Bank Deposits?

Reconciling deposits, within an accounting system, coming into a Shopify User's bank account from a Shopify store running Shopify Payments (or otherwise) appears to be one of the things people frequently stumble on — based on the number of requests about the topic on Shopify's Support Community Forums, for example: https://community.shopify.com/c/Shopify-APIs-SDKs/Fees-charged-by-Shopify-via-API/m-p/265261/
The issue (for accounting) is that Shopify Payments removes the Fee Amount (for a full list of fees see: https://www.shopify.com/pricing) prior to depositing the balance of the transaction into a Store Owner's bank account.
Shopify Fees generally look something like: 2.6% of transaction value + $0.30
Calculation of the fees that should be taken out based on the above is pretty simple (hard code the fee schedule), until those fees change at some point in the future.
How does this impact Integrations?
For many of the available simple integrations this causes a discrepancy between the invoice amount of money hitting the bank account and the amount of money we 'Expect' to hit the bank account based on the Shopify Invoice Amount that is readily retrieved via Shopify's API by many such solutions.
That discrepancy means that it is necessary for an Accounting based user to manually deduce which Shopify Invoice is associated with which incomming bank deposit — and then manually add a negative line item to account for the difference / balance the books.
This is the suggested methodology coming from several different Accounting System / Software vendors (specifically Xero and Quickbooks) when asked how their customers solved the above issue.
I know that there are solutions out there that attempt to solve all of the above problems (with varying degrees of success), but due to the amount of Kitting that my current situation involves none of them adequately solve the other required functionality for our business.
We need to be able to find the fees (or alternately calculate them ourselves) and add those fees to the invoice so our accounting system is expecting the correct amount of funds to hit our bank account — hence the question: How can we retrieve the current accounts "Shopify Payments" fees / rates.
Ideally I want to avoid hard coding this information since Shopify likely does change the fees (potentially with only minor notification) meaning that at that point our integration would break. It would be much better to be able to retrieve the fee schedule for a given account via API request thereby avoiding issue if the fees change.
I have multiple clients who are also facing the same issue — so I figured it was worth checking to see if anyone has faced / solved the problem, and discuss my current solution
What does Shopify Say?
Generally their comment is that there is no road map to including the fees deducted from an invoice when responding to an API Request as taken from: https://community.shopify.com/c/Shopify-APIs-SDKs/Fees-charged-by-Shopify-via-API/m-p/265261/ (which seems strange) — meaning that 'wont do' is the best classification for the feature request that would provide this information with simple / readily available calls to the currently available API Endpoints.
Without access to Fee amounts on a per order basis I am not sure how Shopify Stores are currently interfacing with their account systems.
I would love to hear solutions from any Shopify user who may have encountered this issue previously! I opened a ticket request with support so I will see what I get back over there as well and post back.
OK so this isn't a total solution but I am updating as I go and will continue to edit this answer until I find a full solution (or until someone who has one adds an answer).
Whitelist / API Endpoint Approval Required
I found a Shopify API endpoint that should give the information I am looking for over here: https://help.shopify.com/en/api/reference/shopify_payments/transaction
According to the Shopify API docs the response should contain the Fee Amount and the API Endpoint would be:
/admin/shopify_payments/balance/transactions.json
That would get me exactly what I need, except that sending a properly formatted request to the avoid Endpoint gives the following response:
{
"errors": "[API] This action requires merchant approval for read_shopify_payments_payouts scope."
}
Basically it seems like it needs to be approved per merchant making it a less than ideal solution for you guys as an App. I requested the functionality and will add to this if it makes something easier (when / if it's granted to our account).
Public Access to Similar Fee Data
While playing around with some of the other endpoints I ran into this one (which IS public and accessible for Apps — I am a partner / develop Shopify Apps myself) which seems to provide similar functionality:
https://help.shopify.com/en/api/reference/orders/transaction
When making a call (and receiving the "kind": "sale" result for a given Order Id) I get the following pieces of JSON that are interesting:
"gateway": "shopify_payments",
"status": "success",
and more importantly:
"balance_transaction": {
"id": "XXXXXXXXXX",
"object": "balance_transaction",
"amount": 12881,
"available_on": 1553040000,
"created": 1552943224,
"currency": "usd",
"description": "XXXXX#outlook.com",
"exchange_rate": null,
"fee": 339,
"fee_details": [
{
"amount": 339,
"application": "ca_1vQrdCwnvOuC2Ypn5R9whwXkGxb4XJjx",
"currency": "usd",
"description": "Shopify Payments application fee",
"type": "application_fee"
}
],
Where the JSON 'amount; property corresponds to the invoice sales amount (including shipping) as a decimal free value.
The "fee": 339 appears to indicate the fee amount deducted by Shopify Payments (based on the JSON idicator attached: description": "Shopify Payments application fee").
Yep. That's the Fee.
After checking the Shopify Account tier (in this case Advanced) the fees deducted should be: 2.4% + 30¢ meaning that the total does match — 2.4% * $128.81 = $3.09144 + 30 cents (per transaction) = $3.39.
So basically everything exists (with no whitelisting required) to get the fee amounts on a per order basis for Shopify Payments users. This probably includes the Shopify Fees charged to external gateways as well although I don't use one so I can't say for sure.
That endpoint functionality means Shopify Fees likely COULD be added to any Shopify App that integrates with an accounting system — but also means it is relatively easy to pull in after the fact if the integration you are working with deposits the Invoiced amount into accounting but DOES NOT add a negative line item associated with the Shopify Fees — like mine does.
Still leaves me with some questions but at least the initial 'How do I find the Shopify Fees?' question is taken care of.
Previously my scripts that handle our accounting had used the Shopify API. As one commenter mentioned this API no longer works (or has changed in some way I have not found a solution to)
For everyone who is now having trouble with the API changes and doesn't mind a slightly manual solution to grab all Shopify payouts information you can dump a CSV out of the Shopify Payouts view, and then load that into your script (or alternately into Google Drive, and then hit that as a database... for example with Autocode's Standard Library).
To export Shopify Payouts data in CSV:
Go to the Shopify Payouts page for your Shopify store: https://XXX-YOURURL-XXX.myshopify.com/admin/payments/payouts
Set your date range / filter range to make sure you are exporting the correct payout date range.
Click the Export button in the top right hand corner, to the left of Documents and Transactions.
Shopify will email you the exported Transaction CSV which you can then do with what you like. This process won't work so well for anyone who is attempting to use a daily payout reconciliation strategy within their accounting system, but for the rest of us peons who are further behind on reconciliation it works well.

eBay REST API getOffers no results but returns order array in Trading API

I am stuck on this issue for weeks and I didn't have any replies on the eBay forum.
I searched many places on web and found some people having the same problem as mine but no one got an answer to solution.
Just wondering if anyone is using eBay REST API and you are getting some results through the getOffers API, maybe you can see if I missed anything.
Things I confirmed through the Inventory API (REST)
I successfully created a couple of hundreds of inventory items through Inventory API.
I successfully created offers for all my items on eBay.
All items on eBay are showing the correct quantity and price.
Things I have done manually through the eBay website as a general customer
I searched my items and opened one of them
I purchased a few items.
I marked all purchases as payment sent.
Things I have done through the Fulfillment API (REST)
I sent the request to get all orders in the last 10 day.
The response header contains: rlogid:t6pithqauq%60%28ciudbq%60anng%7Fu2h%3F%3Cwk%7Dukqjtcpse*1423455-15fb2623e27-0xb8
The response body contains:
{
"href": "https://api.sandbox.ebay.com/sell/fulfillment/v1/order?filter=creationdate:%5B2017-10-01T08:25:43.511Z..%5D&limit=50&offset=0",
"total": 0,
"limit": 50,
"offset": 0,
"orders": []
}
Things I have done to find out if items are sold
I refreshed the item page and confirm that eBay website is displaying 2 sold just after I marked payment send on my purchase page.
I can see that all orders appear through the Trading API (XML).
"Note: The Fulfillment API covers only the transactions that have completed the checkout process. This includes both paid purchases and purchases that do not require upfront payment (such as COD). However, the API does not cover pending payment purchases that require upfront payment before shipment."
Copied from here: https://developer.ebay.com/api-docs/sell/fulfillment/overview.html
So PayPal is covered, COD or prepayment are not...
Better use Trading API.

eBay LMS Trading API AddFixedPriceItemRequest returns 'SKU already in use' error

I've been working on an automatized eBay-upload-item module for a while now and every time I think it could work, eBay comes up with a new non-sense error. Currently the error is:
SKU already in use
I have 0 items in my listing, (active, ended, unsold etc), literally, 0 items anywhere. And when i try to make a BULK upload via the Trading API using individual AddFixedPriceItemRequest per item (including variations), I get the above error, which makes no sense.
All my SKUs are uniquely generated and then checked for against a database that stores them so as to avoid duplication. There is no documentation anywhere, and just basing my debugging on eBay's error reporting can drive anyone into insanity.
Any help will be much appreciated. Thanks
First of all, make sure that the item you're trying to upload is not a Multi-SKU item. This error can appear for multiple problems related to any part of your listing.
It would be also great if you can post API request and response here.