 			contentType: 'application/json; charset=utf-8'
 			dataType: 'json'
 			data: JSON.stringify couponCodeRequest
+		.done @cacheOrderForm
 
 	# Sends a request to remove the discount coupon from the OrderForm.
 	# @param expectedOrderFormSections [Array] (default = *all*) an array of attachment names.

			]
		@version = 'VERSION'

	# Sends an idempotent request to retrieve the current OrderForm.
	# @param expectedOrderFormSections [Array] an array of attachment names.
	# @return [Promise] a promise for the OrderForm.
	getOrderForm: (expectedFormSections = @allOrderFormSections) =>
		# TODO guardar orderForm
		checkoutRequest = { expectedOrderFormSections: expectedFormSections }
		@ajax
			url: @_getOrderFormURL()
			type: 'POST'
			contentType: 'application/json; charset=utf-8'
			dataType: 'json'
			data: JSON.stringify(checkoutRequest)

	# Sends an OrderForm attachment to the current OrderForm, possibly updating it.
	# @param attachmentId [String] the name of the attachment you're sending.

			contentType: 'application/json; charset=utf-8'
			dataType: 'json'
			data: JSON.stringify(attachment)
		.done @cacheOrderForm

		if options.abort and options.subject
			@_subjectToJqXHRMap[options.subject]?.abort()
