Better marshalers and unmarshalers, introducing PaymentRequest.