Skip to content

Instantly share code, notes, and snippets.

Avatar

Jean-Christophe Hoelt j3k0

View GitHub Profile
@j3k0
j3k0 / demo-code.js
Created May 26, 2020
angular in-app purchase example
View demo-code.js
function sync() {
$scope.ready = store.ready();
$scope.product = Object.assign({}, store.get("my_product_id"));
}
const dsync = window.debounce(sync, 50);
$scope.$on("$ionicView.beforeEnter", function () {
dsync();
store.when("my_product_id").updated(dsync);
});
@j3k0
j3k0 / response.json
Created May 25, 2020
Validate an Expired Subscription
View response.json
{
"ok": false,
"route": "/v1/validate",
"status": 419,
"code": 6778003,
"message": "Transaction has expired 2020-03-09 10:24:06 Etc/GMT",
}
@j3k0
j3k0 / response.json
Last active May 25, 2020
POST /v1/validate Response Body
View response.json
{
"ok": true,
"data": {
"ineligible_for_intro_price": [
"my_subscription"
],
"transaction": { "platform-specific transaction data": "can be ignored" },
"collection": [
{
"id": "my_subscription",
@j3k0
j3k0 / request.json
Last active May 25, 2020
POST /v1/validate Request Body
View request.json
{
"id": "com.example.app",
"type": "application",
"transaction": {
"id": "com.example.app",
"type": "ios-appstore",
"appStoreReceipt": "MIIabcdefgh...xyz=="
},
"additionalData": {
"applicationUsername": "james_bond_007"
@j3k0
j3k0 / webhook.purchases.updated.json
Created Oct 22, 2019
Example Fovea.Billing webhook request
View webhook.purchases.updated.json
{
"type": "purchases.updated",
"applicationUsername": "my_username",
"purchases": {
"apple:cc.fovea.purchase.subscription1sx": {
"productId": "apple:cc.fovea.purchase.subscription1sx",
"platform": "apple",
"sandbox": true,
"purchaseId": "apple:1000000573800707",
"purchaseDate": "2019-09-29T14:15:44.000Z",
View GET-v2-customer-purchases.json
{
"applicationUsername":"1E6676C70C123AA18222EF001120CAE1",
"purchases": {
"apple:monthly_subcscription": {
"productId":"apple:monthly_subcscription",
"platform":"apple",
"sandbox":true,
"purchaseId":"apple:1000000532000112",
"purchaseDate":"2019-07-29T17:14:00.000Z",
"expirationDate":"2019-07-29T17:19:00.000Z",
View GET-v2-customer-subscription.json
{
"applicationUsername": "my-username-123456",
"subscription": {
"transactionId": "apple:12309a12",
"platform": "apple",
"sandbox": true,
"productId": "apple:monthly.basic",
"purchasedAt": "2019-06-24T21:52:16.000Z",
"renewedAt": "2019-06-28T01:07:29.000Z",
"expiresAt": "2019-06-28T01:12:29.000Z",
View GET-v2-receipt.json
{
"receiptId": "apple:2700001237189799",
"platform": "apple",
"updatedAt": "2019-07-02T07:25:36.700Z",
"amountsMicros": {
"GBP": 2970000
},
"amountUSD": 3.75,
"numTransactions": 2,
"source": {
View GET-v2-receipts.json
{
"paging": {
"skip": 0,
"limit": 100,
"total": 3
},
"rows": [
{
"receiptId": "apple:1000000012309800",
"platform": "apple",
@j3k0
j3k0 / GET-customers-receipts-200.json
Created Jun 21, 2019
Response from fovea.billing customers receipts API
View GET-customers-receipts-200.json
[{
"type": "android-appstore",
"appName": "test",
"bundleId": "cc.fovea.purchase.demo",
"receipt": {
"orderId": "GPA.3312-8483-xxxx-xxxxx..1",
"packageName": "cc.fovea.purchase.demo",
"productId": "cc.fovea.purchase.subscription1",
"purchaseTime": 1549447850144,
"purchaseState": 0,
You can’t perform that action at this time.