Card Deposits via Braintree

The following method IDs are covered in this section:

IDNameCredit/Debit State
1ECMC DepositAuthorisedByProvider (13)
CapturedByProvider (27)
2VISA DepositAuthorisedByProvider (13)
CapturedByProvider (27)
189Discover DepositAuthorisedByProvider (13)
CapturedByProvider (27)

Payment method interaction type: Synchronous Execution (see Interaction Types)

Redirect Integration

There are no specific steps for initiating Card Deposits with Redirect Integration. Refer to Initiate New Payment (Redirect) for the standard steps.

Backend2Backend Integration

To initiate a card deposit the initiatePayment web method should be invoked. The following table contains additional risk data fields that can be passed in the specificPaymentData collection:

key (value type, account type, required)value
BrowserHeaderUserAgent (string)UserAgent detail from customers browser
CollectedDeviceData (string)device data

For passing deviceData, the merchant needs to embed a dataCollector JS compoment into it´s checkout page. The component is provided by PayPal / Braintree and is the only way of collecting the data. The deviceData is typically an encrypted JSON string containing things such as the device type, browser and/or application.

Please check this link and this link from PayPal (content may change at any time).


The following table contains additional risk data fields that can be passed in the User collection:

key (value type, account type, required)value
email (string)eMail address of a user
telephoneNumber (string)PhoneNumber of a user.

The following table contains additional risk data fields that can be passed in the initiatePaymentRequest:

key (value type, account type, required)value
userIP (*string)Users IPv4 or IPv6 address

Example initiatePaymentRequest:

<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
	<merchantID>Renegades_Test</merchantID>
	<shopID>Renegades_Shop</shopID>
	<merchantTransactionID>OB_20230210_1122</merchantTransactionID>
	<paymentMethodID>2</paymentMethodID>
	<amount currencyCode="USD">1.04</amount>
	<userID>OB_20230210_1121</userID>
	<userData>
		<username>OB_20230210_1121</username>
		<currencyCode>USD</currencyCode>
		<email>[email protected]</email>
		<address>
			<street>test street</street>
			<houseName>test house name</houseName>
			<houseNumber>123</houseNumber>
			<houseNumberExtension>ABC</houseNumberExtension>
			<postalCode>1220</postalCode>
			<city>test city</city>
			<state>test state</state>
			<countryCode2>US</countryCode2>
			<telephoneNumber>123456789</telephoneNumber>
		</address>
		<dateOfBirth>1995-10-10T00:00:00</dateOfBirth>
		<gender>Male</gender>
		<identificationNumber>1442122d-5244-4617-bb23-932fbce2cbbe</identificationNumber>
	</userData>
	<userIP>2.2.2.2</userIP>
	<userSessionID>40f6b48f-d0eb-476e-a490-7bd864526776</userSessionID>
	<creationTypeID>1</creationTypeID>
	<specificPaymentData>
		<data xsi:type="keyStringValuePair">
			<key>PaymentDescription</key>
			<value>Nice description</value>
		</data>
		<data xsi:type="keyStringValuePair">
			<key>PaymentDescriptionLanguageCode</key>
			<value>en</value>
		</data>
		<data xsi:type="keyBooleanValuePair">
			<key>IsThreeDSecureRequired</key>
			<value>false</value>
		</data>
		<data xsi:type="keyIntValuePair">
			<key>PaymentProviderID</key>
			<value>191</value>
		</data>
		<data xsi:type="keyStringValuePair">
			<key>CollectedDeviceData</key>
			<value>'{"correlation_id":"51f279ee3e70265b15da2c0100ed6b06"}'</value>
		</data>
		<data xsi:type="keyStringValuePair">
			<key>BrowserHeaderUserAgent</key>
			<value>Mozilla/5.0 (Linux; Android 7.0; SM-G930VC Build/NRD90M; wv)</value>
		</data>
	</specificPaymentData>
	<paymentAccount>
		<specificPaymentAccountData>
			<data xsi:type="keyStringValuePair">
				<key>CardNumber</key>
				<value>4005519200000004</value>
			</data>
			<data xsi:type="keyStringValuePair">
				<key>CardVerificationCode</key>
				<value>111</value>
			</data>
			<data xsi:type="keyIntValuePair">
				<key>ExpiryMonth</key>
				<value>12</value>
			</data>
			<data xsi:type="keyIntValuePair">
				<key>ExpiryYear</key>
				<value>2050</value>
			</data>
			<data xsi:type="keyStringValuePair">
				<key>HolderName</key>
				<value>Joen Doe</value>
			</data>
		</specificPaymentAccountData>
	</paymentAccount>
</initiatePaymentRequest>