# Content API for Shopping . orderinvoices

## Instance Methods

Close httplib2 connections.

Creates a charge invoice for a shipment group, and triggers a charge capture for orderinvoice enabled orders.

Creates a refund invoice for one or more shipment groups, and triggers a refund for orderinvoice enabled orders. This can only be used for line items that have previously been charged using `createChargeInvoice`. All amounts (except for the summary) are incremental with respect to the previous invoice.

### Method Details

`close()`

    Close httplib2 connections.

`createchargeinvoice(merchantId, orderId, body=None, x__xgafv=None)`

    Creates a charge invoice for a shipment group, and triggers a charge capture for orderinvoice enabled orders.

    Args:
      merchantId: string, The ID of the account that manages the order. This cannot be a multi-client account. (required)
      orderId: string, The ID of the order. (required)
      body: object, The request body.
        The object takes the form of:

    {
      "invoiceId": "A String", # [required] The ID of the invoice.
      "invoiceSummary": { # [required] Invoice summary.
        "additionalChargeSummaries": [ # Summary of the total amounts of the additional charges.
          {
            "totalAmount": { # [required] Total additional charge for this type.
              "pretax": { # [required] Value before taxes.
                "currency": "A String", # The currency of the price.
                "value": "A String", # The price represented as a number.
              },
              "tax": { # [required] Tax value.
                "currency": "A String", # The currency of the price.
                "value": "A String", # The price represented as a number.
              },
            },
            "type": "A String", # [required] Type of the additional charge. Acceptable values are: - "`shipping`"
          },
        ],
        "customerBalance": { # Deprecated.
          "pretax": { # [required] Value before taxes.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "tax": { # [required] Tax value.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
        },
        "googleBalance": { # Deprecated.
          "pretax": { # [required] Value before taxes.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "tax": { # [required] Tax value.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
        },
        "merchantBalance": { # Deprecated.
          "pretax": { # [required] Value before taxes.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "tax": { # [required] Tax value.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
        },
        "productTotal": { # [required] Total price for the product.
          "pretax": { # [required] Value before taxes.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "tax": { # [required] Tax value.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
        },
        "promotionSummaries": [ # Deprecated.
          {
            "promotionAmount": { # [required] Amount of the promotion. The values here are the promotion applied to the unit price pretax and to the total of the tax amounts.
              "pretax": { # [required] Value before taxes.
                "currency": "A String", # The currency of the price.
                "value": "A String", # The price represented as a number.
              },
              "tax": { # [required] Tax value.
                "currency": "A String", # The currency of the price.
                "value": "A String", # The price represented as a number.
              },
            },
            "promotionId": "A String", # [required] ID of the promotion.
          },
        ],
      },
      "lineItemInvoices": [ # [required] Invoice details per line item.
        {
          "lineItemId": "A String", # ID of the line item. Either lineItemId or productId must be set.
          "productId": "A String", # ID of the product. This is the REST ID used in the products service. Either lineItemId or productId must be set.
          "shipmentUnitIds": [ # [required] The shipment unit ID is assigned by the merchant and defines individual quantities within a line item. The same ID can be assigned to units that are the same while units that differ must be assigned a different ID (for example: free or promotional units).
            "A String",
          ],
          "unitInvoice": { # [required] Invoice details for a single unit.
            "additionalCharges": [ # Additional charges for a unit, e.g. shipping costs.
              {
                "additionalChargeAmount": { # [required] Amount of the additional charge.
                  "pretax": { # [required] Value before taxes.
                    "currency": "A String", # The currency of the price.
                    "value": "A String", # The price represented as a number.
                  },
                  "tax": { # [required] Tax value.
                    "currency": "A String", # The currency of the price.
                    "value": "A String", # The price represented as a number.
                  },
                },
                "additionalChargePromotions": [ # Deprecated.
                  {
                    "promotionAmount": { # [required] Amount of the promotion. The values here are the promotion applied to the unit price pretax and to the total of the tax amounts.
                      "pretax": { # [required] Value before taxes.
                        "currency": "A String", # The currency of the price.
                        "value": "A String", # The price represented as a number.
                      },
                      "tax": { # [required] Tax value.
                        "currency": "A String", # The currency of the price.
                        "value": "A String", # The price represented as a number.
                      },
                    },
                    "promotionId": "A String", # [required] ID of the promotion.
                  },
                ],
                "type": "A String", # [required] Type of the additional charge. Acceptable values are: - "`shipping`"
              },
            ],
            "promotions": [ # Deprecated.
              {
                "promotionAmount": { # [required] Amount of the promotion. The values here are the promotion applied to the unit price pretax and to the total of the tax amounts.
                  "pretax": { # [required] Value before taxes.
                    "currency": "A String", # The currency of the price.
                    "value": "A String", # The price represented as a number.
                  },
                  "tax": { # [required] Tax value.
                    "currency": "A String", # The currency of the price.
                    "value": "A String", # The price represented as a number.
                  },
                },
                "promotionId": "A String", # [required] ID of the promotion.
              },
            ],
            "unitPricePretax": { # [required] Price of the unit, before applying taxes.
              "currency": "A String", # The currency of the price.
              "value": "A String", # The price represented as a number.
            },
            "unitPriceTaxes": [ # Tax amounts to apply to the unit price.
              {
                "taxAmount": { # [required] Tax amount for the tax type.
                  "currency": "A String", # The currency of the price.
                  "value": "A String", # The price represented as a number.
                },
                "taxName": "A String", # Optional name of the tax type. This should only be provided if `taxType` is `otherFeeTax`.
                "taxType": "A String", # [required] Type of the tax. Acceptable values are: - "`otherFee`" - "`otherFeeTax`" - "`sales`"
              },
            ],
          },
        },
      ],
      "operationId": "A String", # [required] The ID of the operation, unique across all operations for a given order.
      "shipmentGroupId": "A String", # [required] ID of the shipment group. It is assigned by the merchant in the `shipLineItems` method and is used to group multiple line items that have the same kind of shipping charges.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        {
      "executionStatus": "A String", # The status of the execution. Acceptable values are: - "`duplicate`" - "`executed`"
      "kind": "A String", # Identifies what kind of resource this is. Value: the fixed string "content#orderinvoicesCreateChargeInvoiceResponse".
    }

`createrefundinvoice(merchantId, orderId, body=None, x__xgafv=None)`

    Creates a refund invoice for one or more shipment groups, and triggers a refund for orderinvoice enabled orders. This can only be used for line items that have previously been charged using `createChargeInvoice`. All amounts (except for the summary) are incremental with respect to the previous invoice.

    Args:
      merchantId: string, The ID of the account that manages the order. This cannot be a multi-client account. (required)
      orderId: string, The ID of the order. (required)
      body: object, The request body.
        The object takes the form of:

    {
      "invoiceId": "A String", # [required] The ID of the invoice.
      "operationId": "A String", # [required] The ID of the operation, unique across all operations for a given order.
      "refundOnlyOption": { # Option to create a refund-only invoice. Exactly one of `refundOnlyOption` or `returnOption` must be provided.
        "description": "A String", # Optional description of the refund reason.
        "reason": "A String", # [required] Reason for the refund. Acceptable values are: - "`adjustment`" - "`autoPostInternal`" - "`autoPostInvalidBillingAddress`" - "`autoPostNoInventory`" - "`autoPostPriceError`" - "`autoPostUndeliverableShippingAddress`" - "`couponAbuse`" - "`courtesyAdjustment`" - "`customerCanceled`" - "`customerDiscretionaryReturn`" - "`customerInitiatedMerchantCancel`" - "`customerSupportRequested`" - "`deliveredLateByCarrier`" - "`deliveredTooLate`" - "`expiredItem`" - "`failToPushOrderGoogleError`" - "`failToPushOrderMerchantError`" - "`failToPushOrderMerchantFulfillmentError`" - "`failToPushOrderToMerchant`" - "`failToPushOrderToMerchantOutOfStock`" - "`feeAdjustment`" - "`invalidCoupon`" - "`lateShipmentCredit`" - "`malformedShippingAddress`" - "`merchantDidNotShipOnTime`" - "`noInventory`" - "`orderTimeout`" - "`other`" - "`paymentAbuse`" - "`paymentDeclined`" - "`priceAdjustment`" - "`priceError`" - "`productArrivedDamaged`" - "`productNotAsDescribed`" - "`promoReallocation`" - "`qualityNotAsExpected`" - "`returnRefundAbuse`" - "`shippingCostAdjustment`" - "`shippingPriceError`" - "`taxAdjustment`" - "`taxError`" - "`undeliverableShippingAddress`" - "`unsupportedPoBoxAddress`" - "`wrongProductShipped`"
      },
      "returnOption": { # Option to create an invoice for a refund and mark all items within the invoice as returned. Exactly one of `refundOnlyOption` or `returnOption` must be provided.
        "description": "A String", # Optional description of the return reason.
        "reason": "A String", # [required] Reason for the return. Acceptable values are: - "`customerDiscretionaryReturn`" - "`customerInitiatedMerchantCancel`" - "`deliveredTooLate`" - "`expiredItem`" - "`invalidCoupon`" - "`malformedShippingAddress`" - "`other`" - "`productArrivedDamaged`" - "`productNotAsDescribed`" - "`qualityNotAsExpected`" - "`undeliverableShippingAddress`" - "`unsupportedPoBoxAddress`" - "`wrongProductShipped`"
      },
      "shipmentInvoices": [ # Invoice details for different shipment groups.
        {
          "invoiceSummary": { # [required] Invoice summary.
            "additionalChargeSummaries": [ # Summary of the total amounts of the additional charges.
              {
                "totalAmount": { # [required] Total additional charge for this type.
                  "pretax": { # [required] Value before taxes.
                    "currency": "A String", # The currency of the price.
                    "value": "A String", # The price represented as a number.
                  },
                  "tax": { # [required] Tax value.
                    "currency": "A String", # The currency of the price.
                    "value": "A String", # The price represented as a number.
                  },
                },
                "type": "A String", # [required] Type of the additional charge. Acceptable values are: - "`shipping`"
              },
            ],
            "customerBalance": { # Deprecated.
              "pretax": { # [required] Value before taxes.
                "currency": "A String", # The currency of the price.
                "value": "A String", # The price represented as a number.
              },
              "tax": { # [required] Tax value.
                "currency": "A String", # The currency of the price.
                "value": "A String", # The price represented as a number.
              },
            },
            "googleBalance": { # Deprecated.
              "pretax": { # [required] Value before taxes.
                "currency": "A String", # The currency of the price.
                "value": "A String", # The price represented as a number.
              },
              "tax": { # [required] Tax value.
                "currency": "A String", # The currency of the price.
                "value": "A String", # The price represented as a number.
              },
            },
            "merchantBalance": { # Deprecated.
              "pretax": { # [required] Value before taxes.
                "currency": "A String", # The currency of the price.
                "value": "A String", # The price represented as a number.
              },
              "tax": { # [required] Tax value.
                "currency": "A String", # The currency of the price.
                "value": "A String", # The price represented as a number.
              },
            },
            "productTotal": { # [required] Total price for the product.
              "pretax": { # [required] Value before taxes.
                "currency": "A String", # The currency of the price.
                "value": "A String", # The price represented as a number.
              },
              "tax": { # [required] Tax value.
                "currency": "A String", # The currency of the price.
                "value": "A String", # The price represented as a number.
              },
            },
            "promotionSummaries": [ # Deprecated.
              {
                "promotionAmount": { # [required] Amount of the promotion. The values here are the promotion applied to the unit price pretax and to the total of the tax amounts.
                  "pretax": { # [required] Value before taxes.
                    "currency": "A String", # The currency of the price.
                    "value": "A String", # The price represented as a number.
                  },
                  "tax": { # [required] Tax value.
                    "currency": "A String", # The currency of the price.
                    "value": "A String", # The price represented as a number.
                  },
                },
                "promotionId": "A String", # [required] ID of the promotion.
              },
            ],
          },
          "lineItemInvoices": [ # [required] Invoice details per line item.
            {
              "lineItemId": "A String", # ID of the line item. Either lineItemId or productId must be set.
              "productId": "A String", # ID of the product. This is the REST ID used in the products service. Either lineItemId or productId must be set.
              "shipmentUnitIds": [ # [required] The shipment unit ID is assigned by the merchant and defines individual quantities within a line item. The same ID can be assigned to units that are the same while units that differ must be assigned a different ID (for example: free or promotional units).
                "A String",
              ],
              "unitInvoice": { # [required] Invoice details for a single unit.
                "additionalCharges": [ # Additional charges for a unit, e.g. shipping costs.
                  {
                    "additionalChargeAmount": { # [required] Amount of the additional charge.
                      "pretax": { # [required] Value before taxes.
                        "currency": "A String", # The currency of the price.
                        "value": "A String", # The price represented as a number.
                      },
                      "tax": { # [required] Tax value.
                        "currency": "A String", # The currency of the price.
                        "value": "A String", # The price represented as a number.
                      },
                    },
                    "additionalChargePromotions": [ # Deprecated.
                      {
                        "promotionAmount": { # [required] Amount of the promotion. The values here are the promotion applied to the unit price pretax and to the total of the tax amounts.
                          "pretax": { # [required] Value before taxes.
                            "currency": "A String", # The currency of the price.
                            "value": "A String", # The price represented as a number.
                          },
                          "tax": { # [required] Tax value.
                            "currency": "A String", # The currency of the price.
                            "value": "A String", # The price represented as a number.
                          },
                        },
                        "promotionId": "A String", # [required] ID of the promotion.
                      },
                    ],
                    "type": "A String", # [required] Type of the additional charge. Acceptable values are: - "`shipping`"
                  },
                ],
                "promotions": [ # Deprecated.
                  {
                    "promotionAmount": { # [required] Amount of the promotion. The values here are the promotion applied to the unit price pretax and to the total of the tax amounts.
                      "pretax": { # [required] Value before taxes.
                        "currency": "A String", # The currency of the price.
                        "value": "A String", # The price represented as a number.
                      },
                      "tax": { # [required] Tax value.
                        "currency": "A String", # The currency of the price.
                        "value": "A String", # The price represented as a number.
                      },
                    },
                    "promotionId": "A String", # [required] ID of the promotion.
                  },
                ],
                "unitPricePretax": { # [required] Price of the unit, before applying taxes.
                  "currency": "A String", # The currency of the price.
                  "value": "A String", # The price represented as a number.
                },
                "unitPriceTaxes": [ # Tax amounts to apply to the unit price.
                  {
                    "taxAmount": { # [required] Tax amount for the tax type.
                      "currency": "A String", # The currency of the price.
                      "value": "A String", # The price represented as a number.
                    },
                    "taxName": "A String", # Optional name of the tax type. This should only be provided if `taxType` is `otherFeeTax`.
                    "taxType": "A String", # [required] Type of the tax. Acceptable values are: - "`otherFee`" - "`otherFeeTax`" - "`sales`"
                  },
                ],
              },
            },
          ],
          "shipmentGroupId": "A String", # [required] ID of the shipment group. It is assigned by the merchant in the `shipLineItems` method and is used to group multiple line items that have the same kind of shipping charges.
        },
      ],
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        {
      "executionStatus": "A String", # The status of the execution. Acceptable values are: - "`duplicate`" - "`executed`"
      "kind": "A String", # Identifies what kind of resource this is. Value: the fixed string "content#orderinvoicesCreateRefundInvoiceResponse".
    }