Bambora North America REST

Additional Notes
Bambora supports card-on-file transaction for purchase transaction only.

Adding Bambora gateway

curl https://core.spreedly.com/v1/gateways.xml \
  -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
  -H 'Content-Type: application/xml' \
  -d '<gateway>
  <gateway_type>bambora_na</gateway_type>
  <merchant_id>your_merchant_id</merchant_id>
  <passcode>your_passcode</passcode>
  <sub_merchant_id>your_sub_merchant_id(optional)</sub_merchant_id>
</gateway>'
<gateway>
    <token>1GGR5AAJ038QSVPRTFGAHM8XTV</token>
    <gateway_type>bambora_na</gateway_type>
    <name>Bambora North America REST</name>
    <description nil="true"/>
    <merchant_profile_key nil="true"/>
    <sub_merchant_key nil="true"/>
    <merchant_id>300200374</merchant_id>
    <sub_merchant_id 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_partial_capture type="boolean">true</supports_partial_capture>
        <supports_credit type="boolean">true</supports_credit>
        <supports_partial_credit type="boolean">false</supports_partial_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_3dsecure_2_mpi_purchase type="boolean">true</supports_3dsecure_2_mpi_purchase>
        <supports_3dsecure_2_mpi_authorize type="boolean">true</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_stored_stored_credentials type="boolean">false</supports_stored_stored_credentials>
        <supports_partial_refund type="boolean">true</supports_partial_refund>
        <supports_stored_credentials type="boolean">true</supports_stored_credentials>
    </characteristics>
    <credentials>
        <credential>
            <name>merchant_id</name>
            <value>merchant_id</value>
        </credential>
        <credential>
            <name>sub_merchant_id</name>
            <value nil="true"/>
        </credential>
    </credentials>
    <gateway_settings>
  </gateway_settings>
    <gateway_specific_fields>
        <gateway_specific_field>billing_phone_country_code</gateway_specific_field>
        <gateway_specific_field>billing_phone_type</gateway_specific_field>
        <gateway_specific_field>shipping_phone_country_code</gateway_specific_field>
        <gateway_specific_field>shipping_email</gateway_specific_field>
        <gateway_specific_field>ship_same_as_ord</gateway_specific_field>
        <gateway_specific_field>device_channel</gateway_specific_field>
        <gateway_specific_field>three_ds_xid</gateway_specific_field>
        <gateway_specific_field>three_ds_enabled</gateway_specific_field>
        <gateway_specific_field>language</gateway_specific_field>
        <gateway_specific_field>ref1</gateway_specific_field>
        <gateway_specific_field>ref2</gateway_specific_field>
        <gateway_specific_field>ref3</gateway_specific_field>
        <gateway_specific_field>ref4</gateway_specific_field>
        <gateway_specific_field>ref5</gateway_specific_field>
    </gateway_specific_fields>
    <payment_methods>
        <payment_method>credit_card</payment_method>
        <payment_method>apple_pay</payment_method>
    </payment_methods>
    <state>retained</state>
    <redacted type="boolean">false</redacted>
    <sandbox type="boolean">true</sandbox>
</gateway>

Parameters

NameDescription
merchant_idRequired; Bambora merchant identifier (merchant ID)
passcodeRequired; Bambora passcode used for authentication
sub_merchant_idOptional: Bambora sub-merchant identifier (sub merchant ID)

Gateway Specific Fields

<gateway_specific_fields>
  <bambora_na>
    <gateway_specific_field>billing_phone_country_code</gateway_specific_field>
    <gateway_specific_field>billing_phone_type</gateway_specific_field>
    <gateway_specific_field>shipping_phone_country_code</gateway_specific_field>
    <gateway_specific_field>shipping_email</gateway_specific_field>
    <gateway_specific_field>ship_same_as_ord</gateway_specific_field>
    <gateway_specific_field>device_channel</gateway_specific_field>
    <gateway_specific_field>three_ds_xid</gateway_specific_field>
    <gateway_specific_field>three_ds_enabled</gateway_specific_field>
    <gateway_specific_field>language</gateway_specific_field>
    <gateway_specific_field>ref1</gateway_specific_field>
    <gateway_specific_field>ref2</gateway_specific_field>
    <gateway_specific_field>ref3</gateway_specific_field>
    <gateway_specific_field>ref4</gateway_specific_field>
    <gateway_specific_field>ref5</gateway_specific_field>
  </bambora_na>
</gateway_specific_fields>

Parameters

NameDescription
three_ds_xidUnique ID to trace the 3DS transaction in Bambora (if not passed Spreedly will generate a unique Id)
three_ds_enabledFalse when 3DS for the transaction is not required to be used
ref1 - ref3Custom field mapped on Bambora gateway
ship_same_as_ordIf true, the provided Billing Address information will also be used as the Shipping Address information

Gateway Specific Response Fields

<gateway_specific_response_fields>
  <bambora_na>
    <auth_code>57</auth_code>
    <transaction_type>P | R | VP | VR | PA | PAC</transaction_type>
    <risk_score>0</risk_score>
    <links>links for void/refund</links>
    <details>error details array</details>
    <three_ds_xid>2345678ygf</three_ds_xid>
  </bambora_na>
</gateway_specific_response_fields>

Parameters

NameDescription
transaction_typeP | R | VP | VR | PA | PAC from Bambora gateway
risk_scoreThe risk score represents the percentage of probability that the transaction is fraudulent. For example, a score of 10 represents a 10% possibility that the transaction is fraudulent
linksUrl to perform the void, return, completion etc
detailsError details array
three_ds_xidUnique ID to trace the 3DS transaction in Bambora (if not passed Spreedly will generate a unique Id)

Stored Credentials

For Bambora, sending stored credential fields can be done using Spreedly’s first class support. 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

First / credential-on-file setup

reason_typeinitiatorcard_on_file.type (bambora mapped field)
installmentCardholderfirst_installment
recurringCardholderfirst_recurring
unscheduledCardholderfirst_unscheduled

Subsequent use

reason_typeinitiatorcard_on_file.type (bambora mapped field)
installmentMerchantsubsequent_installment
installmentCardholdersubsequent_installment
recurringMerchantsubsequent_recurring
recurringCardholdersubsequent_recurring
unscheduledMerchantsubsequent_unscheduled
unscheduledCardholdersubsequent_customer_initiated