Method: externaltransactions.createexternaltransaction
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
HTTP 请求
POST https://androidpublisher.googleapis.com/androidpublisher/v3/{parent=applications/*}/externalTransactions
网址采用 gRPC 转码语法。
路径参数
参数 |
parent |
string
必需。要创建的相应外部交易所在的父资源。格式:applications/{packageName}
|
查询参数
参数 |
externalTransactionId |
string
必需。用于外部交易的 ID。在应用的所有其他交易中必须是唯一的。该值应介于 1-63 个字符之间,有效字符为 /a-zA-Z0-9_-/。请勿使用此字段存储任何个人身份信息 (PII),如电子邮件地址。尝试在此字段中存储个人身份信息 (PII) 可能会导致请求被阻止。
|
响应正文
如果成功,响应正文将包含一个新创建的 ExternalTransaction
实例。
示例
以下是一个示例请求:
curl \
-X POST \
'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/externalTransactions?externalTransactionId=exampleExternalTransactionId' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
-H 'Content-Type: application/json' \
-d '{ \
"originalPreTaxAmount": { \
"currency": "USD", \
"priceMicros": "1000000" \
}, \
"originalTaxAmount": { \
"currency": "USD", \
"priceMicros": "100000" \
}, \
"transactionTime": "2023-05-05T12:00:00Z", \
"oneTimeTransaction": { \
"externalTransactionToken": "token-123" \
}, \
"userTaxAddress": { \
"regionCode": "US" \
} \
}'
以下是示例响应:
{
"createTime": "2023-04-20T14:23:18.121Z",
"currentPreTaxAmount": {
"currency": "USD",
"priceMicros": "12000000"
},
"currentTaxAmount": {
"currency": "USD",
"priceMicros": "1200000"
},
"externalTransactionId": "ext-trans-id-1234",
"oneTimeTransaction": {
"externalTransactionToken": "one-time-token-abc"
},
"originalPreTaxAmount": {
"currency": "USD",
"priceMicros": "15000000"
},
"originalTaxAmount": {
"currency": "USD",
"priceMicros": "1500000"
},
"packageName": "com.example.app",
"recurringTransaction": {
"externalSubscription": {
"subscriptionType": "RECURRING"
},
"externalTransactionToken": "recurring-token-xyz",
"initialExternalTransactionId": "ext-trans-id-5678",
"otherRecurringProduct": {}
},
"testPurchase": {},
"transactionProgramCode": 11,
"transactionState": "TRANSACTION_REPORTED",
"transactionTime": "2023-04-20T14:20:00.000Z",
"userTaxAddress": {
"regionCode": "US"
}
}
授权范围
需要以下 OAuth 范围:
https://www.googleapis.com/auth/androidpublisher
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003eCreates a new external transaction using an HTTP POST request to a specified URL.\u003c/p\u003e\n"],["\u003cp\u003eRequires providing path and query parameters, including \u003ccode\u003eparent\u003c/code\u003e to specify the app package and a unique \u003ccode\u003eexternalTransactionId\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe request body needs to contain an \u003ccode\u003eExternalTransaction\u003c/code\u003e object, while a successful response returns a newly created \u003ccode\u003eExternalTransaction\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eAuthorization is needed using the \u003ccode\u003ehttps://www.googleapis.com/auth/androidpublisher\u003c/code\u003e OAuth scope.\u003c/p\u003e\n"]]],["This describes how to create an external transaction using a POST request to the specified URL. The URL includes a required `parent` path parameter representing the application's package name. It also requires an `externalTransactionId` query parameter that must be unique and follow specific character constraints. The request and response bodies utilize the `ExternalTransaction` format. The process is authorized through the `androidpublisher` OAuth scope. It uses gRPC Transcoding syntax.\n"],null,["# Method: externaltransactions.createexternaltransaction\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Query parameters](#body.QUERY_PARAMETERS)\n- [Request body](#body.request_body)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nCreates a new external transaction.\n\n### HTTP request\n\n`POST https://androidpublisher.googleapis.com/androidpublisher/v3/{parent=applications/*}/externalTransactions`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|----------|----------------------------------------------------------------------------------------------------------------------------|\n| `parent` | `string` Required. The parent resource where this external transaction will be created. Format: applications/{packageName} |\n\n### Query parameters\n\n| Parameters ||\n|-------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `externalTransactionId` | `string` Required. The id to use for the external transaction. Must be unique across all other transactions for the app. This value should be 1-63 characters and valid characters are /a-zA-Z0-9_-/. Do not use this field to store any Personally Identifiable Information (PII) such as emails. Attempting to store PII in this field may result in requests being blocked. |\n\n### Request body\n\nThe request body contains an instance of [ExternalTransaction](/android-publisher/api-ref/rest/v3/externaltransactions#ExternalTransaction).\n\n### Response body\n\nIf successful, the response body contains a newly created instance of [ExternalTransaction](/android-publisher/api-ref/rest/v3/externaltransactions#ExternalTransaction).\n\n### Sample\n\nThe following is a sample request: \n\n```json\ncurl \\\n -X POST \\\n 'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/externalTransactions?externalTransactionId=exampleExternalTransactionId' \\\n -H 'Accept: application/json' \\\n -H 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \\\n -H 'Content-Type: application/json' \\\n -d '{ \\\n \"originalPreTaxAmount\": { \\\n \"currency\": \"USD\", \\\n \"priceMicros\": \"1000000\" \\\n }, \\\n \"originalTaxAmount\": { \\\n \"currency\": \"USD\", \\\n \"priceMicros\": \"100000\" \\\n }, \\\n \"transactionTime\": \"2023-05-05T12:00:00Z\", \\\n \"oneTimeTransaction\": { \\\n \"externalTransactionToken\": \"token-123\" \\\n }, \\\n \"userTaxAddress\": { \\\n \"regionCode\": \"US\" \\\n } \\\n }'\n```\n\nThe following is a sample response: \n\n```json\n{\n \"createTime\": \"2023-04-20T14:23:18.121Z\",\n \"currentPreTaxAmount\": {\n \"currency\": \"USD\",\n \"priceMicros\": \"12000000\"\n },\n \"currentTaxAmount\": {\n \"currency\": \"USD\",\n \"priceMicros\": \"1200000\"\n },\n \"externalTransactionId\": \"ext-trans-id-1234\",\n \"oneTimeTransaction\": {\n \"externalTransactionToken\": \"one-time-token-abc\"\n },\n \"originalPreTaxAmount\": {\n \"currency\": \"USD\",\n \"priceMicros\": \"15000000\"\n },\n \"originalTaxAmount\": {\n \"currency\": \"USD\",\n \"priceMicros\": \"1500000\"\n },\n \"packageName\": \"com.example.app\",\n \"recurringTransaction\": {\n \"externalSubscription\": {\n \"subscriptionType\": \"RECURRING\"\n },\n \"externalTransactionToken\": \"recurring-token-xyz\",\n \"initialExternalTransactionId\": \"ext-trans-id-5678\",\n \"otherRecurringProduct\": {}\n },\n \"testPurchase\": {},\n \"transactionProgramCode\": 11,\n \"transactionState\": \"TRANSACTION_REPORTED\",\n \"transactionTime\": \"2023-04-20T14:20:00.000Z\",\n \"userTaxAddress\": {\n \"regionCode\": \"US\"\n }\n}\n```\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/androidpublisher`"]]