Rapyd Gateway Guide

To add a Rapyd gateway:

Adding a Rapyd gateway


curl https://core.spreedly.com/v1/gateways.xml \
  -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
  -H 'Content-Type: application/xml' \
  -d '<gateway>
        <gateway_type>rapyd</gateway_type>
        <access_key>Your access key</access_key>
        <secret_key>Your secret key</secret_key>
      </gateway>'

<gateway>
  <token>5VvMj7lMsBBnvdMlypEYJ5qRQ8L</token>
  <gateway_type>rapyd</gateway_type>
  <name>Rapyd</name>
  <description nil="true"/>
  <merchant_profile_key nil="true"/>
  <sub_merchant_key nil="true"/>
  <characteristics>
    <supports_purchase type="boolean">true</supports_purchase>
    <supports_authorize type="boolean">true</supports_authorize>
    <supports_capture type="boolean">true</supports_capture>
    <supports_credit type="boolean">true</supports_credit>
    <supports_general_credit type="boolean">false</supports_general_credit>
    <supports_void type="boolean">true</supports_void>
    <supports_adjust type="boolean">false</supports_adjust>
    <supports_verify type="boolean">true</supports_verify>
    <supports_reference_purchase type="boolean">false</supports_reference_purchase>
    <supports_purchase_via_preauthorization type="boolean">false</supports_purchase_via_preauthorization>
    <supports_offsite_purchase type="boolean">false</supports_offsite_purchase>
    <supports_offsite_authorize type="boolean">false</supports_offsite_authorize>
    <supports_3dsecure_purchase type="boolean">false</supports_3dsecure_purchase>
    <supports_3dsecure_authorize type="boolean">false</supports_3dsecure_authorize>
    <supports_3dsecure_2_mpi_purchase type="boolean">false</supports_3dsecure_2_mpi_purchase>
    <supports_3dsecure_2_mpi_authorize type="boolean">false</supports_3dsecure_2_mpi_authorize>
    <supports_store type="boolean">false</supports_store>
    <supports_remove type="boolean">false</supports_remove>
    <supports_fraud_review type="boolean">false</supports_fraud_review>
    <supports_network_tokenization type="boolean">false</supports_network_tokenization>
    <supports_populate_mit_fields type="boolean">false</supports_populate_mit_fields>
  </characteristics>
  <credentials>
  </credentials>
  <gateway_settings>
  </gateway_settings>
  <gateway_specific_fields>
    <gateway_specific_field>payment_purpose</gateway_specific_field>
    <gateway_specific_field>proof_of_authorization</gateway_specific_field>
    <gateway_specific_field>pm_type</gateway_specific_field>
    <gateway_specific_field>ewallet_id</gateway_specific_field>
    <gateway_specific_field>metadata</gateway_specific_field>
  </gateway_specific_fields>
  <payment_methods>
    <payment_method>credit_card</payment_method>
    <payment_method>bank_account</payment_method>
  </payment_methods>
  <state>retained</state>
  <redacted type="boolean">false</redacted>
  <sandbox type="boolean">false</sandbox>
  <mode>default</mode>
  <created_at type="dateTime">2022-04-15T19:09:17Z</created_at>
  <updated_at type="dateTime">2022-04-15T19:09:17Z</updated_at>
</gateway>


env = Spreedly::Environment.new('C7cRfNJGODKh4Iu5Ox3PToKjniY', '4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ', base_url: 'https://core.spreedly.com')
env.add_gateway(:rapyd, access_key: "Your access key", secret_key: "Your secret key")


#<Spreedly::Gateway:0x00007f81590c6b38
@token="35TUJ8o4fZruPbHOxsPKCYtv7Vx",
@created_at="2022-04-15T19:09:17Z",
@updated_at="2022-04-15T19:09:17Z",
@gateway_type="rapyd",
@state="retained",
@name="Rapyd",
@credentials={}>

Third-party 3D Secure 2 Auth Data

Spreedly will automatically handle the field mapping for sending third-party 3DS2 authentication data to Rapyd. For more information about how to use this feature, see the 3DS2 Third-party Authentication Guide. Spreedly fields map to the relevant Rapyd fields as described in the following table. Please see Rapyd’s third-party 3DS2 documentation for more information.

Spreedly Field Rapyd Field
three_ds_version 3d_version
ecommerce_indicator eci
authentication_value cavv
directory_server_transaction_id ds_trans_id
xid xid

Full Name and Address on Purchase and Authorize

Rapyd requires the full name and address of the payee for transactions. Ensure that payment methods vaulted with Spreedly contain the necessary information.

Payment Method Type

The pm_type field is required for purchase and authorize transactions. This value correlates to the Rapyd Payment Method Type value and is composed of a country code, card brand, and the card type (i.e., us_visa_card). Additional Payment Method Type configurations need to be setup with Rapyd and can be done through their support. Rapyd accounts are configured for specific payment method types. They list available types by country via an API. Rapyd’s documentation provides more information.

Bank Account Transactions

Bank Account verification is required prior to transacting with Bank Account. Please see the Rapyd documentation for more information. The Gateway Specific Fields proof_of_authorization and payment_purpose are required when using a bank account. For more information, see Rapyd’s Payment Method Required Fields.

Authorize cannot be used for ACH payments. Please use Purchase. As soon as Rapyd receives a successful request they will mark it as pending (ACT). After processing at Rapyd, transactions will be marked complete (CLO) which is usually within 48 hours but in some cases can take longer. The CLO status will be notified via webhook (not via Spreedly) and reflected on the Rapyd client portal.

Stored Credentials

For Rapyd, sending stored credential fields can be done using Spreedly’s first class support. Sending stored credential data is simple. For any Authorize or Purchase request, you need to include two fields which tell Spreedly a little bit more about the nature of the transaction:

  • stored_credential_initiator
  • stored_credential_reason_type

Rapyd needs to enable this feature for your account. Please reach out to them and ask to enable the use of network_reference_id on the Payment Method Data object. You should provide that you are using Spreedly for your PCI compliance. Without enabling this feature, Rapyd will require CVV on every transaction.

Learn more about how Spreedly enables seamless use of stored credentials by reviewing our Stored Credentials Guide.

Card on file and recurring transactions that use network reference id is not supported outside of the EU. Rapyd will require CVV to process all transactions in the rest of the world.

Gateway Specific Fields

Spreedly supports the following gateway specific fields when transacting with Rapyd:

  • proof_of_authorization
  • payment_purpose
  • pm_type
  • ewallet_id
  • metadata
  • complete_payment_url
  • error_payment_url
  • description
  • statement_descriptor
  • three_d_required

The majority of GSFs for Rapyd are Payment Method Required Fields. Please refer to their documentation for proper usage.

Metadata

The metadata field contains custom data defined by the client, in the format of a JSON object. Merchants may use this field to store additional information associated with the transaction. Rapyd does not use the metadata for any purpose.

Please refer to using a payment method for more information on how to send GSFs