# Request a payment

*Request for Payment* allows a payment **receiver** (or **beneficiary**) to send a payment request to a payment **sender** (or **originator**) to initiate a payment.

Note
*Request For Payment* requires that both **receiver** and **sender** use RippleNet Server 4.1.0 or higher.

1. The **receiver** creates a "Request for Payment" by sending a *Request For Payment* request:

```
POST {base_url}/v4/request_for_payment
```
This generates a `RequestForPaymentRequest` object and delivers it to to the **sender**. The object is automatically returned with a `request_for_payment_id`, *becoming* a `RequestForPayment` object with state `REQUESTED`. The object is persisted on RippleNet.
2. The **sender** creates a payment:
  1. The **sender** initiates a payment by sending a *Create Quote Collection* request (which is technically separate from the *Request for Payment* process).
  2. The **receiver** and **sender** respond with their quotes.
  3. The **sender** sends an *Accept Quote* request and creates a payment object with a `payment_id`.
3. The **sender** accepts the *Request for Payment* by sending an *Accept Request For Payment* request with the `request_for_payment_id` in the path, and the associated `payment_id` in the request body (and any necessary `user_info`):

```
POST {base_url}/v4/request_for_payment/{request_for_payment_id}/accept
```
The state of the `RequestForPayment` object changes to `ACCEPTED` (which is final).
  1. The **receiver** and **intermediary** *Lock Payment*.
  2. The **sender** executes the payment with *Settle Payment*.