Have your own great idea for a new API feature?
or maybe a suggested improvement to an existing one? Share it and become a god of the developer world.
When creating a customer profile and receiving the E000039 error that tells us there is a duplicate customer profile that already exists it would be useful to get that duplicate profile ID in the response other than inside the error text. While technically possible to pull it out of the error message it would be much easier and less prone to issue if we could get it back somewhere directly, such as the CustomerProfileID filed that already exists on the createCustomerProfileResponse object.
I want to be able when a user requests a service on my system to:
1. authorize only a transaction
2. capture previously authorized amount (from step 1) for a certain date in the future (within 30 days, how long the authorization code is active)
I don't think clients should be implementing some sort of scheduler for when a "capture previously authorized transaction" should occure.
A use case would be car rental:
Online I book a car and provide my credit card info.
The rental company authorizes my credit card and does the capture on the date when the rental date is set.
We have one client that uses CIM to reduce their exposure risk so that the credit card number isn't persisted locally. If a customer places a sales order as a guest, then a new customer profile (associated with the sales order) is created and the payment is stored under that profile; this allows the client to easily re-authorize the card (for example, to verify an updated billing address or to reflect changes to an order that a customer has requested) without having to ask for the card number again. But a customer who is logged in can also manage and store these credit cards in a digital wallet that's associated with their account. It would be nice if, when a returning customer who is checking out chooses one of these cards that they've already stored in their customer profile, we could copy this payment profile to a new, "hidden" customer profile that's associated with the sales order (in case they have changes or it's a backorder or something). That way, the customer can "delete" the card from their wallet without us having to display a message like "sorry, there's a pending order associated with this card, so you have to wait". I guess we can sort of do this now by authorizing it for $1 and then creating a customer profile from that transaction, but it would be cleaner if there is a mechanism within the CIM API like copyPaymentProfile() that allowed this kind of copying of payment profiles between customer profiles. Just a thought.