JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr */ public function all($params = null, $opts = null) { return $this->requestCollection('get', '/v1/payment_intents', $params, $opts); } /** * Manually reconcile the remaining amount for a customer_balance * PaymentIntent. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function applyCustomerBalance($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_intents/%s/apply_customer_balance', $id), $params, $opts); } /** * You can cancel a PaymentIntent object when it’s in one of these statuses: * requires_payment_method, requires_capture, * requires_confirmation, requires_action or, in rare cases, processing. * * After it’s canceled, no additional charges are made by the PaymentIntent and any * operations on the PaymentIntent fail with an error. For PaymentIntents with a * status of requires_capture, the remaining * amount_capturable is automatically refunded. * * You can’t cancel the PaymentIntent for a Checkout Session. Expire the Checkout Session * instead. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function cancel($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_intents/%s/cancel', $id), $params, $opts); } /** * Capture the funds of an existing uncaptured PaymentIntent when its status is * requires_capture. * * Uncaptured PaymentIntents are cancelled a set number of days (7 by default) * after their creation. * * Learn more about separate authorization * and capture. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function capture($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_intents/%s/capture', $id), $params, $opts); } /** * Confirm that your customer intends to pay with current or provided payment * method. Upon confirmation, the PaymentIntent will attempt to initiate a payment. * If the selected payment method requires additional authentication steps, the * PaymentIntent will transition to the requires_action status and * suggest additional actions via next_action. If payment fails, the * PaymentIntent transitions to the requires_payment_method status or * the canceled status if the confirmation limit is reached. If * payment succeeds, the PaymentIntent will transition to the * succeeded status (or requires_capture, if * capture_method is set to manual). If the * confirmation_method is automatic, payment may be * attempted using our client SDKs and * the PaymentIntent’s client_secret. After * next_actions are handled by the client, no additional confirmation * is required to complete the payment. If the confirmation_method is * manual, all payment attempts must be initiated using a secret key. * If any actions are required for the payment, the PaymentIntent will return to * the requires_confirmation state after those actions are completed. * Your server needs to then explicitly re-confirm the PaymentIntent to initiate * the next payment attempt. There is a variable upper limit on how many times a * PaymentIntent can be confirmed. After this limit is reached, any further calls * to this endpoint will transition the PaymentIntent to the canceled * state. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function confirm($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_intents/%s/confirm', $id), $params, $opts); } /** * Creates a PaymentIntent object. * * After the PaymentIntent is created, attach a payment method and confirm to continue the payment. * Learn more about the available payment * flows with the Payment Intents API. * * When you use confirm=true during creation, it’s equivalent to * creating and confirming the PaymentIntent in the same call. You can use any * parameters available in the confirm * API when you supply confirm=true. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function create($params = null, $opts = null) { return $this->request('post', '/v1/payment_intents', $params, $opts); } /** * Perform an incremental authorization on an eligible PaymentIntent. To be eligible, the * PaymentIntent’s status must be requires_capture and incremental_authorization_supported * must be true. * * Incremental authorizations attempt to increase the authorized amount on your * customer’s card to the new, higher amount provided. Similar to the * initial authorization, incremental authorizations can be declined. A single * PaymentIntent can call this endpoint multiple times to further increase the * authorized amount. * * If the incremental authorization succeeds, the PaymentIntent object returns with * the updated amount. * If the incremental authorization fails, a card_declined error returns, and no * other fields on the PaymentIntent or Charge update. The PaymentIntent object * remains capturable for the previously authorized amount. * * Each PaymentIntent can have a maximum of 10 incremental authorization attempts, * including declines. After it’s captured, a PaymentIntent can no longer be * incremented. * * Learn more about incremental * authorizations. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function incrementAuthorization($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_intents/%s/increment_authorization', $id), $params, $opts); } /** * Retrieves the details of a PaymentIntent that has previously been created. * * You can retrieve a PaymentIntent client-side using a publishable key when the * client_secret is in the query string. * * If you retrieve a PaymentIntent with a publishable key, it only returns a subset * of properties. Refer to the payment intent * object reference for more details. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function retrieve($id, $params = null, $opts = null) { return $this->request('get', $this->buildPath('/v1/payment_intents/%s', $id), $params, $opts); } /** * Search for PaymentIntents you’ve previously created using Stripe’s Search Query Language. Don’t use * search in read-after-write flows where strict consistency is necessary. Under * normal operating conditions, data is searchable in less than a minute. * Occasionally, propagation of new or updated data can be up to an hour behind * during outages. Search functionality is not available to merchants in India. * * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\SearchResult<\Stripe\PaymentIntent> */ public function search($params = null, $opts = null) { return $this->requestSearchResult('get', '/v1/payment_intents/search', $params, $opts); } /** * Updates properties on a PaymentIntent object without confirming. * * Depending on which properties you update, you might need to confirm the * PaymentIntent again. For example, updating the payment_method * always requires you to confirm the PaymentIntent again. If you prefer to update * and confirm at the same time, we recommend updating properties through the confirm API instead. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function update($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_intents/%s', $id), $params, $opts); } /** * Verifies microdeposits on a PaymentIntent object. * * @param string $id * @param null|array $params * @param null|RequestOptionsArray|\Stripe\Util\RequestOptions $opts * * @throws \Stripe\Exception\ApiErrorException if the request fails * * @return \Stripe\PaymentIntent */ public function verifyMicrodeposits($id, $params = null, $opts = null) { return $this->request('post', $this->buildPath('/v1/payment_intents/%s/verify_microdeposits', $id), $params, $opts); } }