A place to discuss charging merchants for your apps and services using the billing API.
Hi guys,
we just start collecting payments, we are using REST API 2020-07 version.
We already see some "Recurring charge accepted", as shown below, but you would see that Earnings are also 0.
We had a check that test billing is off, here is how a billing page looks:
So we do not have the warning for the testing charges. Any ideas about what we are doing wrong?
Second questions → we are aware of prorated charges (as described here: https://shopify.dev/tutorials/charging-for-your-app-with-rest-admin-api-upgrade-downgrade ) but we are not able to replicate them with test stores, can someone confirm that prorated charges are applied to stores with plans `partner_test`?
I cannot edit, thus I'm posting below.
Today I received a notice, that store that I tested with payments is billed for. That's fine, moving to the app, now I see, that it was on Oct 7, so like 10 days after the initial activation we see that earnings are applying.
Any idea why?
We also see something quite strange on the home page. Our first charge was Oct, 7, so really no 30 days passed but more like 10. So question is why those are out of sync,
Questions for Shoppify support:
We see a case on production, related to billing an app:
{
"recurring_application_charges": [
{
"id": 19289407648,
"name": "Starter",
"api_client_id": 3856087,
"price": "29.99",
"status": "active",
"return_url": "https://***/payment_callback?token=HMDYz2jI6cLdxLuxoIfW9B9bzAr8nDib&shopify_store_id=XXXXXXXX&shop=rushdemostore.myshopify.com&access_token=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",
"billing_on": "2020-11-02",
"created_at": "2020-10-16T16:05:22+03:00",
"updated_at": "2020-10-16T16:05:47+03:00",
"test": false,
"activated_on": "2020-10-16",
"cancelled_on": null,
"trial_days": 0,
"trial_ends_on": "2020-10-16",
"decorated_return_url": "https://***/payment_callback?access_token=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&charge_id=19289407648&shop=rushdemostore.myshopify.com&shopify_store_id=XXXXXXXX&token=HMDYz2jI6cLdxLuxoIfW9B9bzAr8nDib"
},
{
"id": 19109937312,
"name": "Beta Unlimited",
"api_client_id": 3856087,
"price": "2.00",
"status": "cancelled",
"return_url": "https://***/payment_callback?token=rM0VF09Q40bBv4RYoYMRj4KlpeN0XHLK&shopify_store_id=XXXXXXXX&shop=rushdemostore.myshopify.com&access_token=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",
"billing_on": null,
"created_at": "2020-10-08T11:41:04+03:00",
"updated_at": "2020-10-16T16:05:47+03:00",
"test": false,
"activated_on": "2020-10-08",
"cancelled_on": "2020-10-16",
"trial_days": 0,
"trial_ends_on": "2020-10-08",
"decorated_return_url": "https://***/payment_callback?access_token=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&charge_id=19109937312&shop=rushdemostore.myshopify.com&shopify_store_id=XXXXXXXX&token=rM0VF09Q40bBv4RYoYMRj4KlpeN0XHLK"
},
{
"id": 19096174752,
"name": "Starter",
"api_client_id": 3856087,
"price": "29.99",
"status": "cancelled",
"return_url": "https://***/payment_callback?token=GSHxFr7bJZV7jsYvfnhPSvT8i4h5twCA&shopify_store_id=XXXXXXXX&shop=rushdemostore.myshopify.com&access_token=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",
"billing_on": null,
"created_at": "2020-10-07T19:35:34+03:00",
"updated_at": "2020-10-08T11:41:22+03:00",
"test": false,
"activated_on": "2020-10-07",
"cancelled_on": "2020-10-08",
"trial_days": 0,
"trial_ends_on": "2020-10-07",
"decorated_return_url": "https://***/payment_callback?access_token=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&charge_id=19096174752&shop=rushdemostore.myshopify.com&shopify_store_id=XXXXXXXX&token=GSHxFr7bJZV7jsYvfnhPSvT8i4h5twCA"
},
{
"id": 19093323936,
"name": "Starter",
"api_client_id": 3856087,
"price": "29.99",
"status": "accepted",
"return_url": "https://***/payment_callback?token=JZOI8z0ASnYZNZCqeqDKiPUApT0xmm5A&shopify_store_id=XXXXXXXX&shopify_store_domain=rushdemostore.myshopify.com&access_token=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",
"billing_on": null,
"created_at": "2020-10-07T16:30:59+03:00",
"updated_at": "2020-10-07T16:31:04+03:00",
"test": false,
"activated_on": null,
"cancelled_on": null,
"trial_days": 0,
"trial_ends_on": null,
"decorated_return_url": "https://***/payment_callback?access_token=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&charge_id=19093323936&shopify_store_domain=rushdemostore.myshopify.com&shopify_store_id=XXXXXXXX&token=JZOI8z0ASnYZNZCqeqDKiPUApT0xmm5A"
},
{
"id": 19093192864,
"name": "Starter",
"api_client_id": 3856087,
"price": "29.99",
"status": "accepted",
"return_url": "https://***/payment_callback?token=hJMAWBmkchj5fRUVPMbqrHICMa4GpPOt&shopify_store_id=XXXXXXXX&shopify_store_domain=rushdemostore.myshopify.com&access_token=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",
"billing_on": null,
"created_at": "2020-10-07T16:22:54+03:00",
"updated_at": "2020-10-07T16:23:08+03:00",
"test": false,
"activated_on": null,
"cancelled_on": null,
"trial_days": 0,
"trial_ends_on": null,
"decorated_return_url": "https://***/payment_callback?access_token=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&charge_id=19093192864&shopify_store_domain=rushdemostore.myshopify.com&shopify_store_id=XXXXXXXX&token=hJMAWBmkchj5fRUVPMbqrHICMa4GpPOt"
},
{
"id": 19005374624,
"name": "Starter",
"api_client_id": 3856087,
"price": "29.99",
"status": "cancelled",
"return_url": "https://***/payment_callback?token=65g3tb78mvorJhTmOUT3IJVq8CpvnXqy&shopify_store_id=XXXXXXXX&shopify_store_domain=rushdemostore.myshopify.com&access_token=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",
"billing_on": null,
"created_at": "2020-10-03T20:41:20+03:00",
"updated_at": "2020-10-07T15:37:46+03:00",
"test": false,
"activated_on": "2020-10-03",
"cancelled_on": "2020-10-07",
"trial_days": 0,
"trial_ends_on": "2020-10-03",
"decorated_return_url": "https://***/payment_callback?access_token=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&charge_id=19005374624&shopify_store_domain=rushdemostore.myshopify.com&shopify_store_id=XXXXXXXX&token=65g3tb78mvorJhTmOUT3IJVq8CpvnXqy"
},
{
"id": 19005276320,
"name": "Starter",
"api_client_id": 3856087,
"price": "29.99",
"status": "expired",
"return_url": "https://***/payment_callback?token=SX9GhrfxEurvbuyhdTrBA1EpovGrVvmN&shopify_store_id=XXXXXXXX&shopify_store_domain=rushdemostore.myshopify.com&access_token=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",
"billing_on": null,
"created_at": "2020-10-03T20:37:35+03:00",
"updated_at": "2020-10-06T14:00:07+03:00",
"test": false,
"activated_on": null,
"cancelled_on": null,
"trial_days": 0,
"trial_ends_on": null,
"decorated_return_url": "https://***/payment_callback?access_token=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&charge_id=19005276320&shopify_store_domain=rushdemostore.myshopify.com&shopify_store_id=XXXXXXXX&token=SX9GhrfxEurvbuyhdTrBA1EpovGrVvmN"
}
]
}
Note that `***` and `XXXX` are reducted values.
So questions is, why example have:
Why billing_on it is a future date?
- Why none of the previously accepted and activated plans, do have billed_on? We see that we have App charges for the same app $45.85, but why we get only for the last plan billed? Or maybe there is another endpoint where we can see from each charge what was used or applied?
Calling: https://rushdemostore.myshopify.com/admin/api/2020-07/application_credits.json
Does return emoty array, and for sure we have applied pro rate → moving from $29 plan to $2 subscription plan. Yet we get:
{
"application_credits": []
}
Note that test was done with a single store.
Hi @sstankov
You see the app charge accepted when the customer accepts the application charge, and your app billing period starts right after your trial period ends (if you have one), however the payment doesn't appear in your account until the customer actually pays their bill, they won't actually see this on added to their bill until their normal billing cycle (i.e. why billing_on is in the future), and if they pay this late, then you won't see it appear in your partner account until then either.
I find that the billing history in your partner panel can be a few hours to a day late.
We recently launched an app and need help understanding how earnings work in the partner dashboard/admin. We are experiencing this:
1. User installs app "installed"
2. User accepts recurring charge "recurring charge activated"
3. We have a 7 day trial
4. Nothing happens in our app dashboard/admin after the 7 day trial expires. We see no earnings and no payments (I understand payments will happen when payment is made by the user's billing cycle.
Questions:
1. Do we have to enable something in our app to convert the trial to a recurring charge?
2. Do earnings only include payments or should they include pending payments?
Any help is much appreciated.