cancel
Showing results for 
Search instead for 
Did you mean: 

Changing Payment Profile for Subscription Not Found Error; .net sdk

Hello all,

 

I am creating an integration using the .net sdk, and seem to have come across an error condition that does not make sense.

 

We are utilizing customer profiles and customer payment profiles exclusively, as to keep data off our server in the vein of being PCI compliant.

 

While working on our 'Update Payment Subscription' integration, it seems that there are issues when trying to submit only the following via the SDK:

 

A) The original Customer Profile ID of the customer used to create the subscription.

B) A different, new Payment Profile ID for this particular customer.

 

The SDK returns an ambiguous error message that 'the record is not found', however I've confirmed that both the Customer Profile exists and the new Payment Profile exists. This is occuring in the sandbox.  Other updates following the same pattern work appropriately, such as updating the amount, or name of the subscription.

 

Even more interesting, including just the Payment Profile ID and not the customer gives an error:

	{
		"code" : "E00110",
		"text" : "CustomerPaymentProfileId is not provided within Customer Profile.",
		"description" : "When using Customer Profile, CustomerPaymentProfileId must be included.",
		"integration_suggestions": "",
		"other_suggestions": ""
	}

and simply trying to update the customer to another gives:

	{
		"code" : "E00111",
		"text" : "The original subscription was not created with this Customer Profile.",
		"description" : "If Customer Profile ID is included, it must match the Customer Profile ID used for the original subscription.",
		"integration_suggestions": "",
		"other_suggestions": ""
	}

Between these two, and noticing that the following error message exists:

	{
		"code" : "E00036",
		"text" : "The payment type cannot be changed.",
		"description" : "Changing the subscription payment type between credit card and eCheck.Net is not currently supported.",
		"integration_suggestions": "",
		"other_suggestions": ""
	}

Shouldn't this be an allowed operation? (Change the Payment Profile on a subscription, only if the customer is exactly the same).

 

Notice, I'm only using profiles here as stated above.

 

This isn't a showstopper, as we can simply dissalow this operation and ask to cancel and create new instead if the payment method is to be changed.  They can also simply update the same payment method to something different.

 

Thank you very much.

1 ACCEPTED SOLUTION

Accepted Solutions

Apologies all, this was my error.  Closed/Solved.

 

Running fiddler revealed I was mapping incorrectly.

View solution in original post

2 REPLIES 2

The same case can be said for when attempting to provide an ID for a stored, vaulted address.  Including the customer and a new address ID in the subscriptionType.profile object throws a schema validation error, and including the existing payment profile ID throws the 'not found' error as described above.

 

We will move forward and simply dissalow updates of this nature that work with including subscriptionType.profile for the time being until this can be addressed as something that is intended or not.

Apologies all, this was my error.  Closed/Solved.

 

Running fiddler revealed I was mapping incorrectly.