VGSCheckoutDataMergePolicy
public enum VGSCheckoutDataMergePolicy
Defines policy how to merge data.
-
FieldName will be treated as a flat key without any nested levels. data.cardNumber -> [“data.cardNumber” : “4111111111111111”]
Declaration
Swift
case flat
-
Map data to the nested JSON. data.cardNumber -> [“data” : [“cardNumber” : “4111111111111111”]].
Declaration
Swift
case nestedJSON
-
Map field name to nested JSON and array if array index is specified. Example: card_data[1].number => nested JSON with array
{ "card_data" : [ null, { "number" : "4111111111111111" } ] }
Completely overwrite extra data array with Checkout Array data.
// Checkout fields JSON: [ { "cvc" : "555" } ] // Extra data JSON: [ { "number" : "4111111111111111" }, { "id" : "1111" } ] // JSON to submit: [ { "cvc" : "555", } ]
Declaration
Swift
case nestedWithArrayOverwrite
-
Map field name to nested JSON and array if array index is specified. Example: card_data[1].number => nested JSON with array
{ "card_data" : [ null, { "number" : "4111111111111111" } ] }
Merge arrays content at the same nested level if possible.
// Checkout fields JSON: [ { "cvc" : "555" } ] // Extra data JSON: [ { "number" : "4111111111111111" } ] // JSON to submit: [ { "cvc" : "555", "number" : "4111111111111111" } ]
Declaration
Swift
case nestedWithArrayMerge