This is an old thread, but I am having the same issue.
Please note that currently this works in Sandbox. We can create a customer payment profile using the opaque data and then charge the customer using that payment profile. As bo mentioned, in Production this gives error code 33. Sandbox and Production should behave the same.
So, how can we get around this limitation using Accept.js?
We are using the C# driver and Accept.js. The problem that we are having is that we need a payment profile to be associated with our transaction in order to do refunds.
If we try to create the customer profile first using the opaque data, we get error 33.
If we try to create the customer profile with the transaction we get error E00102 (Customer info is missing). We assume that an email and description are missing here, but the c# driver, does not provide any field to specify this info with the customerProfilePaymentType.
If we create the customer profile after the payment is processed using the transaction id that works, but we cannot refund the transaction using the customer payment profile, since they are not linked together.
How should we proceed to have a customer payment profile linked to a transaction using opaque data that can be re-used?
Thanks