Skip to main content

Process Withdrawal

POST 

/profile/withdrawals/:withdrawalId/status

Request withdrawal status update.

Withdrawals are created in PREVIEW state. Withdrawals in PREVIEW state do not create actual transaction in Paysafe Wallet system. It allows to check withdrawal parameters and display the fees.

To move the payment forward you must request status change using POST /profile/withdrawals/{withdrawalId}/status. This will perform the required validations and move the withdrawal in PENDING state.

{
"status": "PENDING"
}

To confirm the withdrawal for execution use POST /profile/withdrawals/{withdrawalId}/status:

{
"status": "PROCESSING"
}

Request

Path Parameters

    withdrawalId stringrequired

    The unique id of the withdrawal.

Body

    status PaymentStatus (string)required

    Possible values: [PENDING, PROCESSING]

    paymentProperties

    object[]

    List of payment option specific properties required for processing of the payment.

  • Array [

  • key PaymentPropertyKey (string)

    Possible values: [CARD_CVV, CARD_SAVE_INSTRUMENT]

    Payment property key. Defines available payment property key and their meaning.

    Card payment properties:

    • CARD_CVV - Card CVV is required to confirm the card payment during deposit.
      • Valid value: 123
    • CARD_SAVE_INSTRUMENT - The user agrees to save the card for further payments.
      • Valid value: true
    value string
  • ]

  • scaDetails

    object

    SCA authentication details, including information about the authentication process. It should be included in the request of any wallet operation that requires it due to PSD2 regulatory requirements.

    • Included in the request - operation has already undergone SCA authentication and is authorized to proceed. The SCA details connect the wallet operation to the SCA authentication event.

    • Not included in the request - operation either does not require SCA authentication or is being initiated for the first time, and the user's need for SCA is uncertain. If SCA is needed, the response will provide the SCA details for use in the subsequent execution of the wallet operation.

    eventId stringrequired

    A distinct identifier for the SCA authentication event.

    walletOperationId stringrequired

    A distinct identifier for the wallet operation. This identifier is used to associate the wallet operation with the SCA authentication event.

Responses

Accepted

Schema

    amount int64required

    withdrawal amount in currency minor units.

    currencyCode Currency (string)required

    Possible values: >= 3 characters and <= 3 characters

    Currency alphabetic code as specified by ISO 4217

    paymentOption PaymentOptionType (string)required

    Possible values: [RAPID_TRANSFER, BANK_TRANSFER, OFFLINE_BANK_TRANSFER, CARD, PAYSAFECASH, PAGO_EFECTIVO]

    Enumeration of supported Payment Option Types

    paymentInstrumentReference

    object

    Represents a reference to Payment Instrument, used for Deposit or Withdrawal.

    id stringrequired

    Instrument identifier.

    instrumentType InstrumentType (string)required

    Possible values: [SEPA_BANK_ACCOUNT, UK_BANK_ACCOUNT, US_BANK_ACCOUNT, CCI_BANK_ACCOUNT, CARD]

    Instrument type.

    | Value | Description| |---|---| | SEPA_BANK_ACCOUNT| SEPA Bank account | | UK_BANK_ACCOUNT | UK Bank account | | US_BANK_ACCOUNT | US Bank account | | CCI_BANK_ACCOUNT | CCI Bank account | | CARD | Card |

    merchantRefNum MerchantReferenceNumber (string)

    Possible values: <= 255 characters

    This is the merchant reference number created by the merchant and submitted as part of the request. It must be unique for each request and allows cross referencing objects from merchant system to embedded wallet objects.

    paymentProperties

    object[]

    List of payment option specific properties.

  • Array [

  • key PaymentPropertyKey (string)

    Possible values: [CARD_CVV, CARD_SAVE_INSTRUMENT]

    Payment property key. Defines available payment property key and their meaning.

    Card payment properties:

    • CARD_CVV - Card CVV is required to confirm the card payment during deposit.
      • Valid value: 123
    • CARD_SAVE_INSTRUMENT - The user agrees to save the card for further payments.
      • Valid value: true
    value string
  • ]

  • id stringrequired

    Withdrawal id generated during creation.

    accountId stringrequired
    customerId stringrequired
    slipId string

    Slip identifier. Slip contains list of transactions associated with the withdrawal operations.

    fundingTransactionId string

    Withdrawal funding transaction id.

    creationTime date-timerequired

    Represents RFC 3339, section 5.6 date-time.

    expirationTime date-time

    Represents RFC 3339, section 5.6 date-time.

    status Payment Status (string)required

    Possible values: [PREVIEW, PENDING, PROCESSING, COMPLETED, FAILED, CANCELLED, REFUNDED]

    The payment status:

    • PREVIEW - Payment preview.
    • PENDING - Payment transaction is created and further action is required by the customer.
    • PROCESSING - Payment is scheduled for processing by the payment provider.
    • COMPLETED - Payment is completed. Note that some transactions might be completed from Embedded Wallet point of view, but not from customer point of view, since money movement might take some time outside of the Embedded Wallet network.
    • FAILED - Payment has failed. Check STATUS_REASON property for details.
    • CANCELLED - Payment have been cancelled
    • REFUNDED - Valid only for deposits.
    statusReason string

    Possible values: <= 60 characters

    Status reason for FAILED transaction.

    nextStatus Payment Status (string)[]

    Possible values: [PREVIEW, PENDING, PROCESSING, COMPLETED, FAILED, CANCELLED, REFUNDED]

    Provides the next possible status update the client can request, depending on the chosen payment type and option.

    action Payment Action (string)

    Possible values: [NONE, REDIRECT, SCA]

    Default value: NONE

    Specifies action required to complete to be able to continue to the next payment status:

    • NONE – No action is required, you can proceed to the next deposit status.
    • REDIRECT – The user must be redirected in order to complete a payment, for example, when an alternate payment method like Paysafecard is used.
    • SCA - The user must complete a Strong Customer Authentication (SCA) process.

    scaDetails

    object

    SCA authentication details, including information about the authentication process. It should be present in the response of any wallet operation that requires it due to PSD2 regulatory requirements.

    • Present in the response - operation requires SCA authentication, and the user should proceed with the SCA process.

    • Not present in the response - operation does not require SCA authentication and is authorized to proceed.

    eventId stringrequired

    A distinct identifier for the SCA authentication event.

    walletOperationId stringrequired

    A distinct identifier for the wallet operation. This identifier is used to associate the wallet operation with the SCA authentication event.

    authenticationMode SCA Authentication Mode (string)required

    Possible values: [OUTSOURCED, EMBEDDED, HYBRID]

    Mode of the Strong Customer Authentication (SCA) authentication process.

    • OUTSOURCED - The partner is responsible for handling the entire SCA process.
    • EMBEDDED - Paysafe is responsible for handling the entire SCA process, including user authentication and compliance with regulations like PSD2.
    • HYBRID - Paysafe manages the entire SCA process, excluding the communication with the end-user.

    availableVerifications

    object[]

    List of available verifications for the SCA authentication event. If none are specified, the user can proceed with any agreed-upon verification method.

  • Array [

  • method SCA Authentication Event Attempt Verification Method (string)required

    Possible values: [PASSWORD, PIN, PASSKEYS, OTP, PUSH_NOTIFICATION, BIOMETRIC]

    Method used for verifying the SCA authentication event attempt.

    • PASSWORD - A secret combination of characters, typically chosen by the user, used to authenticate their identity.
    • PIN - A numeric code, typically six digits, used to authenticate the user's identity.
    • PASSKEYS - A set of predefined keys or a pattern chosen by the user to authenticate their identity.
    • OTP - One-Time Password sent via SMS, email, or authenticator application to the user's registered device.
    • PUSH_NOTIFICATION - A notification sent to the user's mobile device prompting them to approve or deny the authentication request.
    • BIOMETRIC - Authentication based on unique physical characteristics of the user, such as fingerprint, facial recognition, or iris scan.
    channel SCA Authentication Event Attempt Verification Channel (string)

    Possible values: [SMS, EMAIL, AUTHENTICATOR]

    Channel used to send the verification method to the user.

    • SMS - Verification method sent via SMS to the user's registered device.
    • EMAIL - Verification method sent via email to the user's registered address.
    • AUTHENTICATOR - Verification method generated by an authenticator application installed on the user's device.
  • ]

  • creationTime date-timerequired

    Represents RFC 3339, section 5.6 date-time.

    expirationTime date-time

    Represents RFC 3339, section 5.6 date-time.

    fee int64deprecated

    Merchant fee to apply to deposit in minor currency units. The field is deprecated in favour of fees property.

    fees

    object[]

  • Array [

  • amount int64required

    Default value: 0

    Amount of the merchant payment, in mintor units. If currency is not specified, then the main transaction currency is used.

    currency Currency (string)

    Possible values: >= 3 characters and <= 3 characters

    Currency alphabetic code as specified by ISO 4217

    paymentReason FeePaymentReason (string)required

    Possible values: [MERCHANT_FEE, ATM_FEE, FX_FEE, PAYSAFE_FEE, OTHER_FEE, SENDER_FEE, RECIPIENT_FEE, DEPOSIT_FEE, WITHDRAWAL_FEE]

    Default value: OTHER_FEE

    Fee payment reason.

    • SENDER_FEE - Fee that will be applied to sender party of transfer collected into partner merchant wallet.
    • RECIPIENT_FEE - Fee that will be applied to recipient client of transfer collected into partner merchant wallet.
    • DEPOSIT_FEE - Fee charged for deposit transactions collected into partner merchant wallet.
    • WITHDRAWAL_FEE - Fee charged for withdrawal transactions collected into partner merchant wallet.
    • MERCHANT_FEE - Fee for the payment service collected into partner merchant wallet.
    • PAYSAFE_FEE - Fee collected by Paysafe for the provided payment service. Usually Paysafe Fee is not directly applied to customer transactions.
    • ATM_FEE - Fee for ATM service, when using prepaid cards.
    • FX_FEE - Fee applied, when payment requires currency exchange.
    • OTHER_FEE - It could be used for any additional, unspecified fees that may be applied to a transaction
  • ]

Loading...