{"lexicon":1,"id":"money.atmosphere.payment.registerPayerRecord","defs":{"main":{"type":"procedure","description":"Register a payer record URI written by the originating app on the payer's PDS via OAuth. Requires a service-auth JWT signed by the originator DID with lxm matching this NSID.","input":{"encoding":"application/json","schema":{"type":"object","required":["paymentId","payerProofUri","payerProofCid"],"properties":{"paymentId":{"type":"string","maxLength":128},"payerProofUri":{"type":"string","format":"at-uri"},"payerProofCid":{"type":"string","format":"cid"}}}},"output":{"encoding":"application/json","schema":{"type":"object","required":["paymentId","payerProofUri","payerProofCid"],"properties":{"paymentId":{"type":"string","maxLength":128},"payerProofUri":{"type":"string","format":"at-uri"},"payerProofCid":{"type":"string","format":"cid"},"alreadyRegistered":{"type":"boolean"}}}},"errors":[{"name":"AlreadyRegistered","description":"A different payer record is already registered for this payment."},{"name":"OriginatorDidMismatch","description":"Caller is not the payment's originating app."},{"name":"NoPayerDid","description":"The payment has no payer DID to register against."},{"name":"PayerProofUriAuthorityMismatch","description":"Record URI authority does not match the payer DID."},{"name":"PaymentNotFound","description":"Payment not found."},{"name":"RegistrationFailed","description":"The payer record could not be verified or registered."}]}}}