Table of Contents
-
add new custom field
experienceProfileId
topayment-paypal
CTP custom type:{ "name": "experienceProfileId", "label": { "de": "experienceProfileId", "en": "experienceProfileId" }, "required": false, "type": { "name": "String" }, "inputHint": "SingleLine" }
-
add new custom field
shippingPreference
topayment-paypal
CTP custom type:{ "name": "shippingPreference", "label": { "en": "shippingPreference" }, "required": false, "type": { "name": "Enum", "values": [ { "key": "NO_SHIPPING", "label": "Redacts shipping address fields from the PayPal pages. Recommended value to use for digital goods." }, { "key": "GET_FROM_FILE", "label": "Get the shipping address selected by the buyer on PayPal pages." }, { "key": "SET_PROVIDED_ADDRESS", "label": "Use the address provided by the merchant. Buyer is not able to change the address on the PayPal pages. If merchant doesn't pass an address buyer has the option to choose the address on PayPal pages." } ] }, "inputHint": "SingleLine" }
-
See payment-paypal.json for full custom type description.
-
ensure CTP custom Type
payment-paypal
hassuccessUrl
andcancelUrl
field definitions as mandatory ("required": true
). If the type/fields are missing - just skip this step, because they will by synced automatically. If the fields exist, but are not required - update them. The easiest way is to remove them right before service start - they will be created automatically by project types sync feature.To remove the field execute the next payload (with actual
version
value from your project):{ "version": "CURRENT payment-paypal OBJECT VERSION", "actions": [ { "action": "removeFieldDefinition", "fieldName": "successUrl" }, { "action": "removeFieldDefinition", "fieldName": "cancelUrl" } ] }
This approach (remove a field definition before service start) could be applied to any field definition, which has unexpected required field - the field will be re-created automatically by sync CTP types feature.