## The PaymentResponse object This object is returned as the payload of the `PaymentRequest` object's [`token`](/js/payment_request/events/on_token.md), [`paymentmethod`](/js/payment_request/events/on_payment_method.md), or [`source`](/js/payment_request/events/on_source.md) event handlers. - `token` (object) A [Token](/api/tokens.md) object. Present if this was the result of a `token` event listener. - `paymentMethod` (object) A [PaymentMethod](/api/payment_methods.md) object. Present if this was the result of a `paymentmethod` event listener. - `source` (object) A [Source](/api/sources.md) object. Present if this was the result of a `source` event listener. - `complete` (function) `complete(status) => void` is a Stripe.js provided function. Call this when you have processed the token data provided by the API. Note that you must must call `complete` within 30 seconds. Accepts one of the following values: - `'success'` (value) Report to the browser that the payment was successful, and that it can close any active payment interface. - `'fail'` (value) Report to the browser that you were unable to process the customer‘s payment. Browsers may re-show the payment interface, or simply show a message and close. - `'invalid_payer_name'` (value) Equivalent to `fail`, except that the browser can choose to show a more-specific error message. - `'invalid_payer_phone'` (value) Equivalent to `fail`, except that the browser can choose to show a more-specific error message. - `'invalid_payer_email'` (value) Equivalent to `fail`, except that the browser can choose to show a more-specific error message. - `'invalid_shipping_address'` (value) Equivalent to `fail`, except that the browser can choose to show a more-specific error message. - `payerName` (string) The customer's name. Only present if it was explicitly [asked for](#payment_request_create-options-requestPayerName) when [creating the PaymentRequest object](/js/payment_request/create.md). - `payerEmail` (string) The customer's email. Only present if it was explicitly [asked for](#payment_request_create-options-requestPayerEmail) when [creating the PaymentRequest object](/js/payment_request/create.md). - `payerPhone` (string) The customer's phone. Only present if it was explicitly [asked for](#payment_request_create-options-requestPayerPhone) when [creating the PaymentRequest object](/js/payment_request/create.md). - `shippingAddress` (ShippingAddress) The final [ShippingAddress](/js/appendix/shipping_address.md) the customer selected. Only populated when `requestShipping` is `true` when [creating the PaymentRequest object](/js/payment_request/create.md), and you've supplied at least one `ShippingOption`. - `shippingOption` (ShippingOption) The final [ShippingOption](/js/appendix/shipping_option.md) the customer selected. Only present when `requestShipping` is `true` when [creating the PaymentRequest object](/js/payment_request/create.md), and you've supplied at least one `ShippingOption`. - `walletName` (string) The unique name of the wallet the customer chose to authorize payment. For example, `browserCard`.