To Prevent Over-Writing User-Related Values (previously collected by a /openOrder request):

To prevent certain user-related values from being over-written by future requests, you can send a preventOverride="1" parameter in the original /openOrder request.
Background
By default, sending the createPayment() or authenticate3d() requests over-writes some user-related values (collected earlier in the /openOrder request):
If the request includes a parameter/s belonging to any of the following blocks, then all the other parameter values in that block are set to null:
  • userDetails
  • billingAddress
  • shippingAddress
For example: If you sent a full set of  billingAddress parameter values in the original /openOrder request, and later you send a createPayment() request containing only a billingAddress.country value, then the new country value is updated, but all the other billingAddress parameter values are over-written by nulls.