# 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:

    {
        "operationId": "A String", # [required] The ID of the operation, unique across all operations for a given order.
        "lineItemInvoices": [ # [required] Invoice details per line item.
          {
            "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.
              "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.
              },
              "additionalCharges": [ # Additional charges for a unit, e.g. shipping costs.
                {
                  "additionalChargePromotions": [ # Deprecated.
                    {
                      "promotionId": "A String", # [required] ID of the promotion.
                      "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.
                        },
                      },
                    },
                  ],
                  "type": "A String", # [required] Type of the additional charge. Acceptable values are: - "`shipping`"
                  "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.
                    },
                  },
                },
              ],
              "unitPriceTaxes": [ # Tax amounts to apply to the unit price.
                {
                  "taxName": "A String", # Optional name of the tax type. This should only be provided if `taxType` is `otherFeeTax`.
                  "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.
                  },
                  "taxType": "A String", # [required] Type of the tax. Acceptable values are: - "`otherFee`" - "`otherFeeTax`" - "`sales`"
                },
              ],
              "promotions": [ # Deprecated.
                {
                  "promotionId": "A String", # [required] ID of the promotion.
                  "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.
                    },
                  },
                },
              ],
            },
            "productId": "A String", # ID of the product. This is the REST ID used in the products service. Either lineItemId or productId must be set.
            "lineItemId": "A String", # ID of the line item. Either lineItemId or productId must be set.
          },
        ],
        "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.
            },
          },
          "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.
            },
          },
          "promotionSummaries": [ # Deprecated.
            {
              "promotionId": "A String", # [required] ID of the promotion.
              "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.
                },
              },
            },
          ],
          "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.
            },
          },
          "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.
            },
          },
        },
        "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:

    {
        "shipmentInvoices": [ # Invoice details for different shipment groups.
          {
            "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.
            "lineItemInvoices": [ # [required] Invoice details per line item.
              {
                "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.
                  "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.
                  },
                  "additionalCharges": [ # Additional charges for a unit, e.g. shipping costs.
                    {
                      "additionalChargePromotions": [ # Deprecated.
                        {
                          "promotionId": "A String", # [required] ID of the promotion.
                          "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.
                            },
                          },
                        },
                      ],
                      "type": "A String", # [required] Type of the additional charge. Acceptable values are: - "`shipping`"
                      "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.
                        },
                      },
                    },
                  ],
                  "unitPriceTaxes": [ # Tax amounts to apply to the unit price.
                    {
                      "taxName": "A String", # Optional name of the tax type. This should only be provided if `taxType` is `otherFeeTax`.
                      "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.
                      },
                      "taxType": "A String", # [required] Type of the tax. Acceptable values are: - "`otherFee`" - "`otherFeeTax`" - "`sales`"
                    },
                  ],
                  "promotions": [ # Deprecated.
                    {
                      "promotionId": "A String", # [required] ID of the promotion.
                      "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.
                        },
                      },
                    },
                  ],
                },
                "productId": "A String", # ID of the product. This is the REST ID used in the products service. Either lineItemId or productId must be set.
                "lineItemId": "A String", # ID of the line item. Either lineItemId or productId must be set.
              },
            ],
            "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.
                },
              },
              "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.
                },
              },
              "promotionSummaries": [ # Deprecated.
                {
                  "promotionId": "A String", # [required] ID of the promotion.
                  "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.
                    },
                  },
                },
              ],
              "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.
                },
              },
              "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.
                },
              },
            },
          },
        ],
        "refundOnlyOption": { # Option to create a refund-only invoice. Exactly one of `refundOnlyOption` or `returnOption` must be provided.
          "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`"
          "description": "A String", # Optional description of the refund reason.
        },
        "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.
        "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.
          "reason": "A String", # [required] Reason for the return. Acceptable values are: - "`customerDiscretionaryReturn`" - "`customerInitiatedMerchantCancel`" - "`deliveredTooLate`" - "`expiredItem`" - "`invalidCoupon`" - "`malformedShippingAddress`" - "`other`" - "`productArrivedDamaged`" - "`productNotAsDescribed`" - "`qualityNotAsExpected`" - "`undeliverableShippingAddress`" - "`unsupportedPoBoxAddress`" - "`wrongProductShipped`"
          "description": "A String", # Optional description of the return reason.
        },
      }

      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".
      }