# Create Personal Payment Source. Endpoint: POST /v2/payment/users/{userId}/payment-sources Version: v2 Security: Bearer ## Path parameters: - `userId` (string, required) Identifier for User Profile Example: "4974a66b-7493-4f41-908c-58ba81093947" ## Request fields (application/json): - `paymentSourceInfo` (object, required) Detailed information about the payment source to be created. - `paymentSourceInfo.paymentSource` (any, required) - `paymentSourceInfo.filter` (any, required) - `paymentSourceInfo.externalId` (string) An identifier assigned by a partner system. Once attached to a payment source, it remains unique per user and cannot be reassigned to another payment source. Example: "bxt_RNGsNfzgJDaTstKIKqK4xEuhGYAnMdYK8T40" ## Response 200 fields (application/json): - `id` (string) Unique identifier identifying the created payment source, if created. Example: "f49d00fe-1eda-4304-ba79-a980f565281d" - `status` (string) Current status of the payment source. Enum: "ACTIVE", "INCOMPLETE", "TEMPORARY_READY", "TEMPORARY_USED", "TEMPORARY_EXPIRED", "TEMPORARY_INCOMPLETE" - `authenticationInfo` (object) Information required for additional authentication steps, such as 3D Secure verification. - `authenticationInfo.authUrl` (string) URL provided by the payment gateway for completing authentication. ## Response 400 fields (application/json): - `debugIdentifier` (string) Link to debug the error internally. - `errorMessages` (array) - `errorMessages.errorCode` (string) Error code to identify the specific errors. - `errorMessages.message` (string) Message containing details of error. - `errorMessages.errorParameters` (array) Error message parameters. - `errorMessages.errorParameters.name` (string) Parameter name - `errorMessages.errorParameters.value` (string) Parameter value - `errorMessages.errorDetail` (string) More details about the error. ## Response 401 fields (application/json): - `debugIdentifier` (string) Link to debug the error internally. - `errorMessages` (array) - `errorMessages.errorCode` (string) Error code to identify the specific errors. - `errorMessages.message` (string) Message containing details of error. - `errorMessages.errorParameters` (array) Error message parameters. - `errorMessages.errorParameters.name` (string) Parameter name - `errorMessages.errorParameters.value` (string) Parameter value - `errorMessages.errorDetail` (string) More details about the error. ## Response 403 fields (application/json): - `debugIdentifier` (string) Link to debug the error internally. - `errorMessages` (array) - `errorMessages.errorCode` (string) Error code to identify the specific errors. - `errorMessages.message` (string) Message containing details of error. - `errorMessages.errorParameters` (array) Error message parameters. - `errorMessages.errorParameters.name` (string) Parameter name - `errorMessages.errorParameters.value` (string) Parameter value - `errorMessages.errorDetail` (string) More details about the error.