Skip to main content
Accept SafetyPay payments with Worldpay as the payment service provider (PSP).

Supported workflows

WorkflowSupported
Payrails SDK✔
Payrails API✔
Delayed / Manual Capture✖
Instant Capture✔
Cancel / Void✖
Refund / Reverse✔
Save Instruments✖
Merchant Initiated Transaction (MIT)✖

Before you begin

Complete these steps before you send your first SafetyPay payment through Worldpay:
  1. Set up a Worldpay integration in your workspace. Follow the Worldpay integration setup guide if you don’t have one yet.
  2. Ask Worldpay to enable SafetyPay on your Worldpay entity.
  3. In the Payrails Portal, go to Settings → Integrations, open your Worldpay integration, select SafetyPay under Payment methods, and save.
  4. Add SafetyPay as a payment option in your workflow.

Request fields for Worldpay

Send these fields in the authorize request, in addition to the standard authorize fields. Required fields must be present for the payment to succeed. Payrails sends Optional fields to the PSP when you include them.

Authorize a SafetyPay payment

Call authorize a payment with safetyPay as the paymentMethodCode. The response includes the redirect to SafetyPay.
Authorize request
After the customer confirms the payment, SafetyPay returns them to your success or error URL. Confirm the result through webhook notifications or the execution status before you fulfill the order.

How Worldpay handles SafetyPay

  • Worldpay doesn’t add a payment status to the return URL for SafetyPay. Payrails reads the result from the return path instead: success, pending, or cancel.
  • When the customer returns with a pending result, Payrails doesn’t wait on the redirect. The Worldpay webhook sets the final status.
  • Payrails reads the customer’s email from meta.order.billingAddress.email, not from meta.customer.email. Payrails doesn’t send the customer’s name for SafetyPay.
  • Each SafetyPay payment is a new customer-initiated payment.
Last modified on October 19, 2026