Attempting to upgrade an unverified dwolla customer errors: Ssn, date of birth cannot be modified

Issue

I am unable to upgrade an unverified dwolla customer from unverified to verified. It says that the date of birth and the SSN are read only values.

:x: I do not see these values on the Dwolla dashboard,
:x: I do not see these values on the API responses as well.
:x: There are no facilities available on the Dwolla dashboard to reset these values.

Details

Environment: sandbox

Customer ID: e380a6e6-218a-4a3c-ae16-8d59e5ca4705

cURL request

curl --location --request POST 'https://api-sandbox.dwolla.com/customers/e380a6e6-218a-4a3c-ae16-8d59e5ca4705' \
--header 'Accept: application/vnd.dwolla.v1.hal+json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <my token>' \
--data-raw '{
  "firstName": "JUNE",
  "lastName": "FOX",
  "email": "dsapalo11152021a@mailsac.com",
  "ipAddress": "10.10.10.10",
  "type": "personal",
  "address1": "2625 TOWNSGATE RD",
  "city": "WESTLAKE VILLAGE",
  "state": "CA",
  "postalCode": "11101",
  "dateOfBirth": "1972-01-02",
  "ssn": "989887654"
}'

HTTP Response

{
    "code": "ValidationError",
    "message": "Validation error(s) present. See embedded errors list for more details.",
    "_embedded": {
        "errors": [
            {
                "code": "ReadOnly",
                "message": "DateOfBirth cannot be modified.",
                "path": "/dateOfBirth",
                "_links": {}
            },
            {
                "code": "ReadOnly",
                "message": "Ssn cannot be modified.",
                "path": "/ssn",
                "_links": {}
            }
        ]
    }
}

Other readings

I’ve read this discussion that says I might need to contact Dwolla directly for this issue.

:point_right: What do I do to be able to upgrade my unverified customer to verified?

Hi @dsapalo

These are correct. To upgrade an Unverified Customer to a Verified Customer, it must be done through the API.

This is expected as SSN and DOB values are considered sensitive information, so they will not be returned in the response for security reasons.

I see that this customer was successfully upgraded to a Verified Customer, however it looks like it is in a Retry state. The docs here go through examples as to how to retry verification for a Personal Verified Customer. Let us know if you encounter any blockers!

Hi @kmoreira ! Thank you for responding. When I query the json resource representing the customer, it returns the following to me:

{
    "_links": {
        "deactivate": {
            "href": "https://api-sandbox.dwolla.com/customers/e380a6e6-218a-4a3c-ae16-8d59e5ca4705",
            "type": "application/vnd.dwolla.v1.hal+json",
            "resource-type": "customer"
        },
        "self": {
            "href": "https://api-sandbox.dwolla.com/customers/e380a6e6-218a-4a3c-ae16-8d59e5ca4705",
            "type": "application/vnd.dwolla.v1.hal+json",
            "resource-type": "customer"
        },
        "edit-form": {
            "href": "https://api-sandbox.dwolla.com/customers/e380a6e6-218a-4a3c-ae16-8d59e5ca4705",
            "type": "application/vnd.dwolla.v1.hal+json; profile=\"https://github.com/dwolla/hal-forms\"",
            "resource-type": "customer"
        },
        "edit": {
            "href": "https://api-sandbox.dwolla.com/customers/e380a6e6-218a-4a3c-ae16-8d59e5ca4705",
            "type": "application/vnd.dwolla.v1.hal+json",
            "resource-type": "customer"
        },
        "funding-sources": {
            "href": "https://api-sandbox.dwolla.com/customers/e380a6e6-218a-4a3c-ae16-8d59e5ca4705/funding-sources",
            "type": "application/vnd.dwolla.v1.hal+json",
            "resource-type": "funding-source"
        },
        "transfers": {
            "href": "https://api-sandbox.dwolla.com/customers/e380a6e6-218a-4a3c-ae16-8d59e5ca4705/transfers",
            "type": "application/vnd.dwolla.v1.hal+json",
            "resource-type": "transfer"
        }
    },
    "id": "e380a6e6-218a-4a3c-ae16-8d59e5ca4705",
    "firstName": "JUNE",
    "lastName": "FOX",
    "email": "dsapalo11152021a@mailsac.com",
    "type": "personal",
    "status": "unverified",
    "created": "2021-11-29T03:44:17.750Z"
}

How were you able to distinguish that it is in a ‘retry’ state? or that the customer was successfully upgraded to verified customer? The attached screenshot (of the dashboard view of the customer) says that it is unverified. Please help me understand, thank you!

Hey @dsapalo

Interesting :thinking: I think it is just displaying it differently in my internal system. Can you try updating it by calling the same endpoint, but instead of submitting the full ssn, submit the last four? I’ll keep an eye on this thread for the rest of the day in case this doesn’t work, and I can upgrade it manually for you since it’s sandbox.

I’m also curious to know if this is happening to just this customer or all customers you’ve attempted to update in sandbox.

Hi @kmoreira and @dsapalo, thanks for this thread,

Me (rick) and @dsapalo tried to use the suggested fix, but still encountering Error.

We also tried to remove the “dateOfBirth” and “ssn”

but another error came up:

{
"code": "ServerError",
"message": "A server error occurred. Error ID: 5b06636a-5df5-4145-a57b-ee7db7c2a5a9."
}

Any other suggestion would be really appreciated. Thank you so much !

Hi @imrick!

I just checked your original Customer upgrade API request and it looks like it was the same issue as the other post your linked above – the state value was the full State name instead of just the 2-letter abbreviation. This caused the account to be stuck in a bad state where it is unverified and cannot be modified.

For reference, here was the request body we received on the first attempt:
{
   "firstName":"JUNE",
   "lastName":"FOX",
   "email":"dsapalo11152021a@mailsac.com",
   "ipAddress":"",
   "type":"personal",
   "dateOfBirth":"XXXXXXXXXX",
   "ssn":"XXXXXXXXX",
   "address1":"2625 TOWNSGATE RD",
   "address2":"",
   "city":"Westlake Village",
   "state":"California",
   "postalCode":"91361"
}

I have manually added an SSN (111-11-1111) to get this account unblocked. With further attempts, try using the 2-letter State name in the first go and see if that goes through just fine! Let us know if you have any questions!