# After a payment link payment Learn what you can do after receiving a payment link payment. After you receive a payment through a payment link, you can perform actions such as track payments, manage fulfillment automatically, and view payment link metrics. ## Track payments #### Dashboard After your customer makes a payment using a payment link, you can see it in the payments overview in the [Dashboard](https://dashboard.stripe.com/payments). If you’re new to Stripe, you receive an email after your first payment. To receive emails for all successful payments, update your notification preferences in your [Personal details](https://dashboard.stripe.com/settings/user) settings. If you’re selling a subscription or [saving a payment method for future use](https://docs.stripe.com/payment-links/customize.md#save-payment-details-for-future-use) and don’t specify an existing customer, the Checkout Session creates a new [customer](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-customer_creation). For one-time payments, the Checkout Session uses a [guest customer](https://docs.stripe.com/payments/checkout/guest-customers.md) instead. #### API When customers use a payment link to complete a payment, Stripe sends a [checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed) webhook that you can use for fulfillment and reconciliation. Learn more about [receiving Stripe events in your integration](https://docs.stripe.com/webhooks.md). Make sure to listen to additional webhooks in case you’ve enabled payment methods like bank debits or vouchers, which can take 2-14 days to confirm the payment. For more information, see our guide on [fulfilling orders after a customer pays](https://docs.stripe.com/checkout/fulfillment.md). After a customer completes a purchase, you can redirect them to a URL or display a custom message by setting [after_completion](https://docs.stripe.com/api/payment-link/create.md#create_payment_link-after_completion) on the payment link. ```curl curl https://api.stripe.com/v1/payment_links \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d "after_completion[type]=redirect" \ --data-urlencode "after_completion[redirect][url]=https://example.com" ``` If you’re selling a subscription or [saving a payment method for future use](https://docs.stripe.com/payment-links/customize.md#save-payment-details-for-future-use) and don’t specify an existing customer, the Checkout Session creates a new [customer](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-customer_creation). For one-time payments, the Checkout Session uses a [guest customer](https://docs.stripe.com/payments/checkout/guest-customers.md) instead. ## Automatically handle fulfillment You can automatically handle fulfillment through a Stripe partner or programmatically with the Stripe API: - **Automation with a Stripe partner:** To automate post-purchase activities such as order *fulfillment* (Fulfillment is the process of providing the goods or services purchased by a customer, typically after payment is collected), emailing customers, and recording data to a spreadsheet, you can use a Stripe partner, such as [Zapier](https://help.zapier.com/hc/articles/10821467221133), to connect Stripe data to other applications. - **Handle fulfillment programmatically:** If you’re interested in handling fulfillment programmatically using the Stripe API and *webhooks* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests), learn how to [fulfill orders after a customer pays](https://docs.stripe.com/checkout/fulfillment.md). ## Change confirmation behavior #### Dashboard After a successful payment, your customer sees a localized confirmation message thanking them for their purchase. You can customize the confirmation message or redirect to a URL of your choice. To change the confirmation behavior on a payment link, click **After the payment** when [creating](https://dashboard.stripe.com/payment-links/create) or editing a payment link. Under **Confirmation page**, you can choose to replace the default message with a custom one. You can also choose to redirect your customers to your website instead of providing a confirmation page. If you redirect your customers to your own confirmation page, you can include `{CHECKOUT_SESSION_ID}` in the redirect URL to dynamically pass the customer’s current Checkout Session ID. This is helpful if you want to tailor the success message on your website based on the information in the Checkout Session. You can also add [UTM codes](https://docs.stripe.com/payment-links/url-parameters.md#track-campaigns-with-utm-codes) as parameters in the query string of the payment link URL. The UTM codes are automatically added to your redirect URL when your customer completes a payment. #### API After a customer completes a purchase, you can redirect them to a URL or display a custom message by setting [after_completion](https://docs.stripe.com/api/payment_links/payment_links/create.md#create_payment_link-after_completion) on the payment link. ```curl curl https://api.stripe.com/v1/payment_links \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d "after_completion[type]=redirect" \ --data-urlencode "after_completion[redirect][url]=https://example.com" ``` If you redirect your customers to your own confirmation page, you can include `{CHECKOUT_SESSION_ID}` in the redirect URL to dynamically pass the customer’s current Checkout Session ID. You can also add [UTM codes](https://docs.stripe.com/payment-links/url-parameters.md#track-campaigns-with-utm-codes) as parameters in the query string of the payment link URL; the UTM codes are automatically added to your redirect URL when your customer completes a payment. ## Use payment links with Connect With Stripe Connect, you can split a payment with a connected account by taking application fees. Learn how to [use payment links with Connect](https://docs.stripe.com/connect/payment-links.md#collecting-fees). ## Let customers manage their subscriptions Create a link that you can send to customers, letting them log in and manage their subscriptions using the *customer portal* (The customer portal is a secure, Stripe-hosted page that lets your customers manage their subscriptions and billing details). ## Send email receipts You can send receipts to customers [automatically](https://docs.stripe.com/receipts.md#automatic) or [manually](https://docs.stripe.com/receipts.md#manual) after the payment succeeds. Learn more about [receipts](https://docs.stripe.com/receipts.md). ## View payment link metrics You can see metrics such as views, sales, and revenue from a given payment link by clicking the **Payments and analytics** tab after selecting a payment link from the [list view](https://dashboard.stripe.com/payment-links). Be aware that Stripe can delay data for up to 18 hours, and isn’t available in a sandbox. Analytics aren’t supported for links that include recurring prices. You can use this data to better understand how your link is performing and what its conversion rate is: - **Views**: The number of times your payment link was opened. - **Sales**: The number of times the payment link was used to complete a purchase. - **Revenue**: The gross sales volume that the link generated and is always in your default currency regardless of the presentment currency. Stripe converts the amounts using the exchange rate on the day the payment occurs. ## Refund payment links To refund a payment using the Dashboard: 1. Find the payment you want to refund in the [Payments](https://dashboard.stripe.com/payments) page. 2. Click the overflow menu (⋯) to the right of the payment, then select **Refund payment**. 3. By default, you issue a full refund. For a partial refund, enter a different refund amount. 4. Select a reason for the refund. If you select **Other**, you must add a note that explains the reason for the refund. Click **Refund**. ### Bulk refunds The Dashboard supports the bulk refunding of full payments. Select what payments you want to refund by checking the box to the left of each payment—even over multiple pages of results. Then, click **Refund** and select a reason. You can only issue full refunds in this way; partial refunds must be issued individually. ### Refund timing It typically takes 5-10 business days for the refund to be processed and reflected on the customer’s bank statement. If there are any issues with insufficient funds in your Stripe balance, the refund might be set as pending until resolved.