Impossible to test billing fragment (and then to get app approved)

In my dev variant (required by poynt) I’m testing the billing of my app without success.

I’ve created a billing plan in MC, it is already approved, and it is in EUR currency.
Launching the billing intent (using the correct billing plan id sent by poynt) I can see an error and a Toast that says something about a wrong product id.
If I use getPlans() method from SDK I’ve this response

{“list”:[],“start”:0,“total”:0,“count”:0}

My hypothesis was that the problem concerned the currency; my plan was created in EUR, but the merchant is set in USD.
Poynt support has confirmed that and he have created a new test merchant set in EUR with ELAVON__EU as acquirer.
But I cannot activate any terminal, probably because ELAVON__EU is not avaiable during the setup wizard.

I tried Chase Paymentech as suggested in the FAQ here in this forum, but also this aquirer create a merchant with USD currency.

I do not think it’s just my problem, but I can not figure out how to solve it
Thank you.

Hi, I have a similar problem.
I have created a .dev variant of an App to test the billing plans.
The App has been approved and also a test Billing plan now has been approved.
To get the list of the Billing plans for that App, I call the API:
https://billing.poynt.net/apps/urn:aid:[AppID]/subscriptions
with the Token I get from the API:
https://services.poynt.net/token
(I post to this API a JsonWebToken encoded with the PrivateKey of the App).
The only answer I get, is an empty list:

{"list":[],"start":0,"total":0,"count":0}

I have also selected EUR currency.
Anyone knows if my logic is wrong, or is there a bug somewhere?
Thankyou.
Carlo

1 Like

I think I have solved my problem with billing plans. I was calling the wrong API.
To get the available billing plans, instead of calling /subscription, the API to call is /plans.
Example:
https://billing.poynt.net/apps/urn:aid:[AppID] /plans
With this call, I get a jSon answer like this:
{ "list": [{ "scope": "STORE", "createdAt": "2018-07-03T17:37:26Z", "updatedAt": "2018-07-03T17:37:26Z", "description": "Test Plan Free", "amounts": [{ "country": "IT", "currency": "EUR", "value": 0 }], "interval": "MONTH", "trialPeriodDays": 0, "startPolicy": "IMMEDIATE", "cancelPolicy": "IMMEDIATE", "appId": "urn:aid:[AppID]", "amount": 0, "planId": "01020304-83ba-46a5-8e0b-cae081b30000", "status": "ACTIVE", "name": "TestPlan1" }], "start": 0, "total": 1, "count": 1 }

Thankyou.
Carlo

1 Like

@dev3

We have already addressed this issue through our ticketing system, however, wanted to close the loop here as well.

Two things to note:

  • It seems the test merchant being used has the currency set as USD. We created a new test merchant activated using an available acquirer option - Chase Paymentech that has EUR as the currency and the appropriate Locale set up. A physical Poynt terminal can be activated using this merchant.

  • In case of an emulator, the we cant change system locale on emulator as it does not run as a system app. This means the currency changes through Business etc will not reflect on the emulator.

Thanks,
Satya

1 Like

same situation here.
we have submitted dev variant and billing plan, Poynt approved both but calling from app on terminal the API getPlans return always an empty list
checking in LOGCAT we find this call
https://billing-eu.poynt.net/apps/com.dindaro.merchantnexi.dev/plans?currency=USD&status=ACTIVE&status=INACTIVE
as you can see the device try to connect poynt API with currency USD but our test plan, test merchant and test bank are in EUR
Have we doing something wrong?

The locale needs to be set correctly to use the respective currency, I have changed your test merchant locale to Italy.
Please send your request to devsupport@poynt.co for assistance with locale settings.