Create a donor and complete designation-only checkout
Creates a donor account from the designation-only checkout form and attempts to convert the Redis cart into donations or recurring commitments. The request body uses fixed login fields plus dynamic public donor fields from the supplied HysForm; conditional display rules can add required custom field validators at runtime. On success the controller creates a donor session, clears the Redis cart, and returns a legacy success envelope.
Path Parameters
Client id that will own the newly created donor and resulting donations or commitments.
Donor HysForm id whose fields are used to build donor json_fields and dynamic validation rules.
Configured designation checkout id from the landing page. It is retained in the route for checkout context while selected gifts are read from Redis.
Redis frontend session id containing saved_designations and saved_designation_frequency. The controller also turns this into a donor session after signup.
Body
Signup fields for designation-only checkout. Fixed validator rules require username, email, and password; dynamic public donor fields may also be required by HysForm conditional display rules.
Donor username. Validator rule: required|min:5 plus a client-scoped donor username uniqueness rule.
5"janedonor"
Donor email. Validator rule: email|required.
"jane@example.org"
Donor password. Validator rule: min:5|required; it is hashed before storage.
5"secret123"
Donor identity type. Standard-field validation requires a valid normalized type; donor_type is accepted as an input alias.
INDIVIDUAL, ORGANIZATION "INDIVIDUAL"
Required when the normalized donor type is ORGANIZATION.
255"Acme Foundation"
Optional revision from the checkout standard_field_contract; a stale supplied revision returns 409.
"current-form-revision"
Optional check reference. Validator rule: nullable|string|max:100.
100"1042"
Payment method selected by checkout. The controller passes this to donation and recurring commitment creation when present.
"3"
Optional donor type used by conditional-display logic to decide which dynamic public fields are required.
"INDIVIDUAL"