1

I am integrating Google Express with Magento but the Create charge invoices API is failing for me. I tried to create the invoice from the "Try this API" option of Google merchant but it's throwing the following error:

{
 "error": {
  "errors": [
   {
    "domain": "content.ContentErrorDomain",
    "reason": "invalid_transition",
    "message": "The requested order is not supported by orderinvoices service"
   }
  ],
  "code": 400,
  "message": "The requested order is not supported by orderinvoices service"
 }
}

createchargeinvoice API doc: https://developers.google.com/shopping-content/v2/reference/v2/orderinvoices/createchargeinvoice

My request body:

{
  "invoiceId": "invoice1",
  "operationId": "charge1",
  "shipmentGroupId": "shipmentgroup1",
  "lineItemInvoices": [
    {
      "productId": "online:en:US:d3k3245",
      "shipmentUnitIds": [
        "2"
      ],
      "unitInvoice": {
        "unitPricePretax": {
          "value": "140",
          "currency": "USD"
        },
        "unitPriceTaxes": [
          {
            "taxType": "sales",
            "taxAmount": {
              "value": "14",
              "currency": "USD"
            }
          }
        ],
        "promotions": [
          {
            "promotionId": "111",
            "promotionAmount": {
              "tax": {
                "currency": "USD",
                "value": "0"
              },
              "pretax": {
                "currency": "USD",
                "value": "0"
              }
            }
          }
        ],
        "additionalCharges": [
          {
            "additionalChargeAmount": {
              "pretax": {
                "currency": "USD",
                "value": "0"
              },
              "tax": {
                "currency": "USD",
                "value": "0"
              }
            },
            "additionalChargePromotions": [
              {
                "promotionAmount": {
                  "pretax": {
                    "currency": "USD",
                    "value": "0"
                  },
                  "tax": {
                    "currency": "USD",
                    "value": "0"
                  }
                },
                "promotionId": "111"
              }
            ],
            "type": "shipping"
          }
        ]
      }
    }
  ],
  "invoiceSummary": {
    "productTotal": {
      "pretax": {
        "value": "561.20",
        "currency": "USD"
      },
      "tax": {
        "value": "55.98",
        "currency": "USD"
      }
    },
    "additionalChargeSummaries": [
      {
        "totalAmount": {
          "pretax": {
            "value": "561.20",
            "currency": "USD"
          },
          "tax": {
            "value": "55.98",
            "currency": "USD"
          }
        },
        "type": "shipping"
      }
    ],
    "promotionSummaries": [
      {
        "promotionAmount": {
          "pretax": {
            "value": "561.20",
            "currency": "USD"
          },
          "tax": {
            "value": "55.98",
            "currency": "USD"
          }
        },
        "promotionId": "111"
      }
    ],
    "merchantBalance": {
      "pretax": {
        "value": "561.20",
        "currency": "USD"
      },
      "tax": {
        "value": "55.98",
        "currency": "USD"
      }
    },
    "customerBalance": {
      "pretax": {
        "value": "561.20",
        "currency": "USD"
      },
      "tax": {
        "value": "55.98",
        "currency": "USD"
      }
    }
  }
}

Has anyone faced this issue?

abhilashv
  • 1,418
  • 1
  • 13
  • 18

1 Answers1

0

As per the google document (that you've shared), there are around 40 "Required" fields for the request body. In the current shared request body, you've less than half of the required fields.

Required fields:

  1. invoiceId
  2. operationId
  3. shipmentGroupId
  4. lineItemInvoices[]
  5. lineItemInvoices[].shipmentUnitIds[]
  6. lineItemInvoices[].unitInvoice
  7. lineItemInvoices[].unitInvoice.unitPricePretax
  8. lineItemInvoices[].unitInvoice.unitPriceTaxes[].taxType
  9. lineItemInvoices[].unitInvoice.unitPriceTaxes[].taxAmount
  10. lineItemInvoices[].unitInvoice.promotions[].promotionId
  11. lineItemInvoices[].unitInvoice.promotions[].promotionAmount
  12. lineItemInvoices[].unitInvoice.promotions[].promotionAmount.pretax
  13. lineItemInvoices[].unitInvoice.promotions[].promotionAmount.tax
  14. lineItemInvoices[].unitInvoice.additionalCharges[].type
  15. lineItemInvoices[].unitInvoice.additionalCharges[].additionalChargeAmount
  16. lineItemInvoices[].unitInvoice.additionalCharges[].additionalChargeAmount.pretax
  17. lineItemInvoices[].unitInvoice.additionalCharges[].additionalChargeAmount.tax
  18. lineItemInvoices[].unitInvoice.additionalCharges[].additionalChargePromotions[].promotionId
  19. lineItemInvoices[].unitInvoice.additionalCharges[].additionalChargePromotions[].promotionAmount
  20. lineItemInvoices[].unitInvoice.additionalCharges[].additionalChargePromotions[].promotionAmount.pretax
  21. lineItemInvoices[].unitInvoice.additionalCharges[].additionalChargePromotions[].promotionAmount.tax
  22. invoiceSummary
  23. invoiceSummary.productTotal
  24. invoiceSummary.productTotal.pretax
  25. invoiceSummary.productTotal.tax
  26. invoiceSummary.additionalChargeSummaries[].type
  27. invoiceSummary.additionalChargeSummaries[].totalAmount
  28. invoiceSummary.additionalChargeSummaries[].totalAmount.pretax
  29. invoiceSummary.additionalChargeSummaries[].totalAmount.tax
  30. invoiceSummary.promotionSummaries[].promotionId
  31. invoiceSummary.promotionSummaries[].promotionAmount
  32. invoiceSummary.promotionSummaries[].promotionAmount.pretax
  33. invoiceSummary.promotionSummaries[].promotionAmount.tax
  34. invoiceSummary.merchantBalance.pretax
  35. invoiceSummary.merchantBalance.tax
  36. invoiceSummary.customerBalance.pretax
  37. invoiceSummary.customerBalance.tax
  38. invoiceSummary.googleBalance.pretax
  39. invoiceSummary.googleBalance.tax
Kamran Feroz
  • 116
  • 7
  • I have updated the request body with all the required fields, but still getting the same error. Is it something to do with the GE order status? My order is in "Shipped" status now. – abhilashv Mar 12 '19 at 15:21