共用方式為


取消軟體購買

您可以使用合作夥伴中心 API 來取消軟體訂閱和永久軟體購買(只要這些購買是在購買日期的取消視窗中進行)。 您不需要建立支援票證來進行這類取消操作,您可以改為使用下列自助方法。

您也可以使用 依標識碼 API 更新訂用帳戶,以取消軟體訂閱(不包括永久軟體)。

先決條件

  • 合作夥伴中心驗證中描述的認證資料。 此案例支援使用獨立應用程式和 App+使用者認證進行驗證。

C#

若要取消軟體訂單,

  1. 將您的帳戶憑證傳遞至 CreatePartnerOperations 方法,以獲得 IPartner 介面來進行合作夥伴作業。

  2. 選取您想要取消的特定 訂單。 先使用客戶識別碼呼叫 Customers.ById() 方法,然後使用訂單識別碼呼叫 Orders.ById()

  3. 請呼叫 Get 或者 GetAsync 方法以擷取訂單。

  4. Order.Status 屬性設定為 cancelled

  5. (選擇性)如果您想要指定取消的特定明細項目,請將 Order.LineItems 設定為您想要取消的項目清單。

  6. 使用 Patch() 方法來更新順序。

// IPartnerCredentials accountCredentials;
// string customerTenantId;

IPartner accountPartnerOperations = PartnerService.Instance.CreatePartnerOperations(accountCredentials);

// Cancel order
var order = accountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(orderId).Get();
order.Status = "cancelled";
order.LineItems = new List<OrderLineItem> {
    order.LineItems.First()
};
order = accountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(orderId).Patch(order);

REST 要求

請求語法

方法 要求 URI
PATCH {baseURL}/v1/customers/{customer-tenant-id}/orders/{order-id} HTTP/1.1

URI 參數

使用下列查詢參數來取消軟體訂單。

名字 類型 必填 描述
customer-tenant-id GUID Y 此值是 GUID 格式的客戶租使用者識別碼,可讓轉銷商篩選屬於轉銷商之指定客戶的結果。
訂單編號 字串 Y 值是表示您要取消之訂單標識碼的字串。

請求標頭

如需詳細資訊,請參閱 合作夥伴中心 REST 標頭

請求主体

{
    "id": "c403d91b21d2",
    "status": "cancelled",
    "lineItems": [
        {
            "lineItemNumber": 0,
            "offerId": "DG7GMGF0FKZV:0003:DG7GMGF0DWMS"
        }
    ]
}

要求範例

PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/orders/<order-id> HTTP/1.1
Accept: application/json
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd

{
    "id": "c403d91b21d2",
    "status": "cancelled",
    "lineItems": [
        {
            "lineItemNumber": 0,
            "offerId": "DG7GMGF0FKZV:0003:DG7GMGF0DWMS"
        }
    ]
}

REST 回應

如果成功,此方法會傳回包含已取消明細項目的訂單。

如果訂單中的所有明細專案都取消,訂單狀態會標示為 取消;如果並非所有明細專案都取消,則標示為 完成

回應成功和錯誤碼

每個回應都有一個 HTTP 狀態代碼,指出成功或失敗和其他偵錯資訊。 使用網路追蹤工具來讀取此程式代碼、錯誤類型和參數。 如需完整清單,請參閱 合作夥伴中心 REST 錯誤碼。

回應範例

在下列範例回應中,您可以看到明細項目的數量已變成零 (0)。 這項變更表示標示取消的明細專案已成功取消。 此範例訂單包含其他未取消的明細專案,因此整體訂單的狀態將標示為已完成 ,而不是 取消

HTTP/1.1 200 OK
Content-Length: 866
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5

{
    "id": "c403d91b21d2",
    "alternateId": "c403d91b21d2",
    "referenceCustomerId": "45411344-b09d-47e7-9653-542006bf9766",
    "billingCycle": "one_time",
    "currencyCode": "USD",
    "currencySymbol": "$",
    "lineItems": [
        {
            "lineItemNumber": 0,
            "offerId": "DG7GMGF0FKZV:0003:DG7GMGF0DWMS",
            "termDuration": "P3Y",
            "transactionType": "New",
            "friendlyName": "SQL Server Enterprise - 2 Core License Pack - 3 year",
            "quantity": 0,
            "links": {
                "product": {
                    "uri": "/products/DG7GMGF0FKZV?country=US",
                    "method": "GET",
                    "headers": []
                },
                "sku": {
                    "uri": "/products/DG7GMGF0FKZV/skus/0003?country=US",
                    "method": "GET",
                    "headers": []
                },
                "availability": {
                    "uri": "/products/DG7GMGF0FKZV/skus/0003/availabilities/DG7GMGF0DWMS?country=US",
                    "method": "GET",
                    "headers": []
                }
            }
        },
        {
            "lineItemNumber": 1,
            "offerId": "DG7GMGF0DVT7:000C:DG7GMGF0FVZM",
            "termDuration": "P3Y",
            "transactionType": "New",
            "friendlyName": "Windows Server CAL - 1 Device CAL - 3 year",
            "quantity": 1,
            "links": {
                "product": {
                    "uri": "/products/DG7GMGF0DVT7?country=US",
                    "method": "GET",
                    "headers": []
                },
                "sku": {
                    "uri": "/products/DG7GMGF0DVT7/skus/000C?country=US",
                    "method": "GET",
                    "headers": []
                },
                "availability": {
                    "uri": "/products/DG7GMGF0DVT7/skus/000C/availabilities/DG7GMGF0FVZM?country=US",
                    "method": "GET",
                    "headers": []
                }
            }
        }
    ],
    "creationDate": "2019-12-12T17:33:56.1306495Z",
    "status": "completed",
    "transactionType": "UserPurchase",
    "links": {
        "self": {
            "uri": "/customers/45411344-b09d-47e7-9653-542006bf9766/orders/c403d91b21d2",
            "method": "GET",
            "headers": []
        },
        "provisioningStatus": {
            "uri": "/customers/45411344-b09d-47e7-9653-542006bf9766/orders/c403d91b21d2/provisioningstatus",
            "method": "GET",
            "headers": []
        },
        "patchOperation": {
            "uri": "/customers/45411344-b09d-47e7-9653-542006bf9766/orders/c403d91b21d2",
            "method": "PATCH",
            "headers": []
        }
    },
    "client": {
        "marketplaceCountry": "US",
        "deviceFamily": "UniversalStore-PartnerCenter",
        "name": "Partner Center API"
    },
    "attributes": {
        "objectType": "Order"
    }
}