The POST orders endpoint is used to post new orders to Gooten’s system.


There are 4 ways to submit payment for an order. You can use:

  • Credit 

  • Braintree JS v1

  • Braintree token

  • PayPal

Regardless of payment type used, you’ll have to submit the same required transaction information:


Use IsInTestMode if you’d like to test payments. It’s a boolean that tells Gooten API not to process the payment. 


Make sure you submit the following fields with your order: 

  • ShipToAddress object, with following properties:

    • First Name - required - first name of the user

    • LastName - required - last name of the user

    • Line1 - required - shipping address line 1

    • Line2 - optional - shipping address line 2

    • City - required - shipping city

    • State - optional - shipping state (if applicable)

    • PostalCode - required - shipping postal code

    • CountryCode - required - shipping 2-letter country code

    • Email - required - user’s email

    • Phone - required - user’s phone

  • BillingAddress object, with following properties:

    • FirstName - required - first name of the user

    • LastName - required - last name of the user

    • PostalCode - required - shipping postal code

    • CountryCode - required - shipping 2-letter country code

  • Items array of objects containing the following properties:

    • SKU - required - SKU of product variant

    • ShipCarrierMethodId - required - ID of shipping carrier method

    • Quantity - required - quantity of items with this SKU

    • Images - required - list of images, each containing Index of image and ManipCommand

The following fields are different, based on the payment method:

For orders submitted on credit:

  • Payment object, with following properties:

    • PartnerBillingKey - a private key that should never be shared or used client-side!

    • Meta - optional - a map of key/value pairs where you can submit any extra info you want attached to the order

  • SourceId - optional - a space to put your internal order id

  • IsPartnerSourceIdUnique - optional - a boolean that sets if you want us to block orders where a previous order has been submitted with the same SourceId

For orders submitted via Braintree JS v1:

  • Payment object, with following properties:

    • BraintreeEncryptedCCNumber - required - encrypted credit card number

    • BraintreeEncryptedCCExpDate - required - encrypted expiry date of card (month/year)

    • BraintreeEncryptedCCV - required - encrypted CVV number

    • CurrencyCode - required - currency code

    • Total - required - order total


For orders submitted via Braintree Token:


  • Payment object, with following properties:

    • BraintreePaymentNonce - required - encrypted Braintree payment nonce

    • CurrencyCode - required - currency code

    • Total - required - order total


For orders submitted via Paypal:


  • Payment object, with following properties:

    • CurrencyCode - required - currency code

    • Total - required - order total


For more details about all of the above methods, as well as to see the example responses, check out our documentation