Additional Notes Bambora supports card-on-file transaction for purchase transaction only.
Request Response
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>
Name Description merchant_idRequired; Bambora merchant identifier (merchant ID) passcodeRequired; Bambora passcode used for authentication sub_merchant_idOptional: Bambora sub-merchant identifier (sub merchant ID)
XML
<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>
Name Description 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
XML
<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>
Name Description 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)
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
reason_typeinitiatorcard_on_file.type (bambora mapped field)installmentCardholder first_installmentrecurringCardholder first_recurringunscheduledCardholder first_unscheduled
reason_typeinitiatorcard_on_file.type (bambora mapped field)installmentMerchant subsequent_installmentinstallmentCardholder subsequent_installmentrecurringMerchant subsequent_recurringrecurringCardholder subsequent_recurringunscheduledMerchant subsequent_unscheduledunscheduledCardholder subsequent_customer_initiated