BuyPass may have changed since your initial eval.
Seeing this for BuyPass with DNS challenge (did not try with HTTP Challenge)
... normal setup ...
Post Challenge URL. Reply reports error (fairly I guess as DNS intentionally wrong)
The status=processing and its error object has status=403 and 1 subprob
Poll Authz and see status=pending
The Authz challenges detail for dns-01 shows status=processing and two subprobs
About 30 seconds after this initial error the DNS problem was manually corrected
(Credible timeline. I was using Route53 which shows 'InSync' status in its console and API)
Continue polling Authz every 1 min. Continues to show status=pending
The Authz challenges detail is unchanged: dns-01 still status=processing and two subprobs
UNTIL about 11-12 minutes after start
At this time the Authz status=valid as is the challenge status
The challenge detail still shows an 'error' object but now just 1 subprob (weird)
The order finalize and cert requests completed normally
Note polling of the Authz was the only request after posting the original challenge URL.
Summary: It looks like BuyPass will retry the dns-01 challenge in 'processing' state without explicit request from the client. My guess is they retry 10 minutes after their second try shown in the subprobs for initial Authz poll. I did not test durations beyond this.
This seems fine from an RFC point of view. It would have been nice for them to provide the retry-after header to indicate when a poll should be retried. Or, even some docs about this. Would have saved me some time