StartPurchase
Initialize a two-part purchase transaction. Currently only used for Steam purchases.
Service | Operation |
---|---|
appStore | START_PURCHASE |
Method Parameters
Parameter | Description |
---|---|
storeId | The store id. Currently only accepts "steam." |
purchaseData | Data for the purchase. language: ISO 639-1 language code. itemId: Items to purchase. |
Usage
http://localhost:3000
- C#
- C++
- Objective-C
- Java
- JavaScript
- Dart
- Cloud Code
- Raw
string storeId = "steam";
string purchaseData = "{\"itemId\":\"3555\",\"language\":\"en\"}";
SuccessCallback successCallback = (response, cbObject) =>
{
Debug.Log(string.Format("Success | {0}", response));
};
FailureCallback failureCallback = (status, code, error, cbObject) =>
{
Debug.Log(string.Format("Failed | {0} {1} {2}", status, code, error));
};
_bc.AppStoreService.StartPurchase(storeId, purchaseData, successCallback, failureCallback);
const char *storeId = "steam";
const char *purchaseData = "{\"itemId\":\"3555\",\"language\":\"en\"}";
_bc->getAppStoreService()->startPurchase(storeId, purchaseData, this);
NSString *storeId = @"steam";
NSString *purchaseData = @"{\"itemId\":\"3555\",\"language\":\"en\"}";
BCCompletionBlock successBlock; // define callback
BCErrorCompletionBlock failureBlock; // define callback
[[_bc appStoreService] startPurchase:storeId
purchaseData:purchaseData
completionBlock:successBlock
errorCompletionBlock:failureBlock
cbObject:nil];
String storeId = "steam";
String purchaseData = "{\"itemId\":\"3555\",\"language\":\"en\"}";
this; // implements IServerCallback
_bc.getAppStoreService().startPurchase(storeId, purchaseData, this);
public void serverCallback(ServiceName serviceName, ServiceOperation serviceOperation, JSONObject jsonData)
{
System.out.print(String.format("Success | %s", jsonData.toString()));
}
public void serverError(ServiceName serviceName, ServiceOperation serviceOperation, int statusCode, int reasonCode, String jsonError)
{
System.out.print(String.format("Failed | %d %d %s", statusCode, reasonCode, jsonError.toString()));
}
var storeId = "steam";
var purchaseData = {
"itemId": "3555",
"language": "en"
};
_bc.appStore.startPurchase(storeId, purchaseData, result =>
{
var status = result.status;
console.log(status + " : " + JSON.stringify(result, null, 2));
});
var storeId = "steam";
var purchaseData = {
"itemId": "3555",
"language": "en"
};
ServerResponse result = await _bc.appStoreService.startPurchase(storeId:storeId, purchaseData:purchaseData);
if (result.statusCode == 200) {
print("Success");
} else {
print("Failed ${result.error['status_message'] ?? result.error}");
}
var storeId = "steam";
var purchaseData = {
"itemId": "3555",
"language": "en"
};
var appStoreProxy = bridge.getAppStoreServiceProxy();
var postResult = appStoreProxy.startPurchase(storeId, purchaseData);
if (postResult.status == 200) {
// Success!
}
{
"service": "appStore",
"operation": "START_PURCHASE",
"data": {
"storeId": "steam",
"purchaseData": {
"itemId": "3555",
"language": "en"
}
}
}
JSON Response
{
"data": {
"resultCode": 0,
"serverTime": 1649252574855,
"store": "steam",
"transactionSummary": {
"result": "OK",
"params": {
"orderid": 100053,
"transid": 3041626742768452692
},
"rawStringResp": "{\"response\":{\"result\":\"OK\",\"params\":{\"orderid\":100053,\"transid\":3041626742768452692}}}",
"currencyOverride": "CAD"
},
"transactionId": "3041626742768452692"
},
"status": 200
}