The recorded purchase resource represents a background job of syncing in-app purchases made through external storefronts like Apple and Google with Chargebee. The
status
(in_process
, completed
, and failed
) attribute represents the current status of the background job.
You can record in-app subscription purchases made on the Apple App Store in Chargebee using the
transaction[id]
or using receipt
and product[id]
received after a successful purchase.
To record the purchase and retrieve subscription details, follow these steps:
Use the Record a Purchase API to record a subscription purchase made in in Apple App Store or Google Play Store.
Record an Apple App Store purchase using transaction id with the
app_id
,
customer[id]
and
transaction[id]
.
Record an Apple App Store purchase using receipt with the
app_id
,
customer[id]
,
receipt
and product[id]
.
Record a Google Play Store one time order or subscription purchase with the
app_id
,
customer[id]
and
order_id
(Recommended).
Record a Google Play Store subscription purchase with the
app_id
,
customer[id]
and
purchase_token
.
Record a Google Play Store one time order purchase with the
app_id
,
customer[id]
,
purchase_token
and
product_id
.
The API response will include a recorded_purchase
object containing the
status
of the purchase
recording job.
Once the purchase is successfully recorded, the
status
attribute of
the recorded_purchase
object updates from in_process
to completed
. At
this point, Chargebee creates an omnichannel_subscription
resource and triggers an
omnichannel_subscription_created
webhook event, which contains the
omnichannel_subscription
and omnichannel_transaction
objects.
In addition to using Webhooks (push-based), you can retrieve details for a recorded purchase by using the recorded purchase resource's ID, which is returned when you record the purchase.
{
"id": "__test__rp_ASDsdfs123ld1",
"app_id": "__test__aas_sdfwerzx5134",
"customer_id": "__test__XpbTXGTSRp3gEsD8",
"source": "apple_app_store",
"status": "completed",
"omnichannel_transaction_id": "__test__ot_LKedfs123ld1",
"linked_omnichannel_subscriptions": [
{
"omnichannel_subscription_id": "__test__os_AHsdfs123ld1"
}
],
"created_at": 1517487053,
"object": "recorded_purchase"
}
id
of the customer object that is associated with this purchase. If the customer_id
is not present in Chargebee when the record_a_purchase
API request is made, the API will return an error. Use create_a_customer
API to create a customer. App Identifier in Chargebee. This is the handle created by Chargebee for your app. To get the app_id
:
failed
. It provides more details about the failure.The Record a Purchase API allows you to record in-app purchases made through channels such as the Apple App Store and Google Play Store in Chargebee. When you invoke this API, it initiates a purchase recording job and returns the recorded_purchase
resource in the response. As part of the job, the API verifies the provided source specific request payload like transaction_id for Apple App Store or purchase_token for Google Play Store with the source
such as apple_app_store
or google_play_store
respectively. If the verification is successful, the corresponding purchase is recorded in Chargebee. Upon completion, the recorded_purchase
resource will include the relevant omnichannel_transaction_id
and omnichannel_subscription_id
.
Since this operation is asynchronous, you need to check the status
attribute of the recorded_purchase
resource to track the job status: in_process
, completed
, or failed
.
Note: Upon successful completion of this asynchronous operation, Chargebee triggers the omnichannel_subscription_created
event.
If the recorded_purchase
status is failed
, review the error_detail
attribute and take corrective action to re-record the purchase.
You can use this API to record new and older purchases made on Apple App Store or Google Play Store by passing the transaction_id
or purchase_token
respectively received during the subscription purchase. You can record purchases for subscriptions that are in Active
or Expired
status.
App Identifier in Chargebee. This is the handle created by Chargebee for your app. To get the app_id
:
The Retrieve a Recorded Purchase API retrieves a recorded_purchase
object using the recorded_purchase.id
returned in the response of the Record a Purchase API. You can use this API to check if the purchase was successfully recorded in Chargebee and to obtain the omnichannel_transaction_id
and omnichannel_subscription_id
associated with the successfully recorded purchase.