For merchant ID, public key and private key you can have a look at below link:
http://pritomkumar.blogspot.com/2017/07/braintree-create-payment-token-store.html
Below is a full PHP script:
You can also specify "customerId" instead of "paymentMethodToken" in the below variable $array (filled red color) as:
"customerId" => "brain_tree_customer_id" and then default payment method of the selected customer will be used.
'submitForSettlement' => true|false
The option that determines whether an authorized transaction is submitted for settlement.
And output/response from BrainTree API is below:
Screenshot:
http://pritomkumar.blogspot.com/2017/07/braintree-create-payment-token-store.html
Below is a full PHP script:
You can also specify "customerId" instead of "paymentMethodToken" in the below variable $array (filled red color) as:
"customerId" => "brain_tree_customer_id" and then default payment method of the selected customer will be used.
'submitForSettlement' => true|false
The option that determines whether an authorized transaction is submitted for settlement.
<?php
require_once('CurlExecutor.php');
require_once "BrainTreeUtils.php";
define("MERCHANT_ID", "k9yxxxxxxj6");
define("PUBLIC_KEY", "85xxxxxxrhh7");
define("PRIVATE_KEY", "510xxxxxxxxxxxxxxxxxxxx8a00");
$array = array(
"transaction" => array(
"type" => "sale",
'amount' => "1.00",
'paymentMethodToken' => "6m76wy",
'orderId' => htmlentities("ORDER_ID_" . time()), 'options' => array(
'submitForSettlement' => true
)
)
);
$test = "https://api.sandbox.braintreegateway.com:443/merchants/" . MERCHANT_ID . "/transactions";
$live = "https://api.braintreegateway.com:443/merchants/" . MERCHANT_ID . "/transactions";
$headers[] = "Accept: application/xml";
$headers[] = "Content-Type: application/xml";
$headers[] = "X-ApiVersion: 4";
$closure = function(&$curl) {
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, PUBLIC_KEY . ':' . PRIVATE_KEY);
};
$result = CurlExecutor::execute(
$test, "POST", BrainTreeUtils::arrayToXml($array),
null, $headers, $closure
);
CurlExecutor::prettyPrint(BrainTreeUtils::arrayFromXml($result["response"]));
And output/response from BrainTree API is below:
Screenshot:
Array
(
[transaction] => Array
(
[id] => jztnv4pr
[status] => Submitted For Settlement
[type] => sale
[currencyIsoCode] => USD
[amount] => 1.00
[merchantAccountId] => fj3............z2
[subMerchantAccountId] =>
[masterMerchantAccountId] =>
[orderId] => ORDER_ID_1500087430
[createdAt] => DateTime Object
(
[date] => 2017-07-15 02:57:06.000000
[timezone_type] => 3
[timezone] => UTC
)
[updatedAt] => DateTime Object
(
[date] => 2017-07-15 02:57:06.000000
[timezone_type] => 3
[timezone] => UTC
)
[customer] => Array
(
[id] => 608968099
[firstName] => Pritom
[lastName] => Kumar
[company] => My Company
[email] => pritomkucse@gmail.com
[website] =>
[phone] => 33303030
[fax] =>
)
[billing] => Array
(
[id] => vt
[firstName] => Pritom
[lastName] => Kumar
[company] =>
[streetAddress] =>
[extendedAddress] =>
[locality] =>
[region] =>
[postalCode] =>
[countryName] =>
[countryCodeAlpha2] =>
[countryCodeAlpha3] =>
[countryCodeNumeric] =>
)
[refundId] =>
[refundIds] => Array
(
)
[refundedTransactionId] =>
[partialSettlementTransactionIds] => Array
(
)
[authorizedTransactionId] =>
[settlementBatchId] =>
[shipping] => Array
(
[id] =>
[firstName] =>
[lastName] =>
[company] =>
[streetAddress] =>
[extendedAddress] =>
[locality] =>
[region] =>
[postalCode] =>
[countryName] =>
[countryCodeAlpha2] =>
[countryCodeAlpha3] =>
[countryCodeNumeric] =>
)
[customFields] =>
[avsErrorResponseCode] =>
[avsPostalCodeResponseCode] => I
[avsStreetAddressResponseCode] => I
[cvvResponseCode] => I
[gatewayRejectionReason] =>
[processorAuthorizationCode] => 6CWKNZ
[processorResponseCode] => 1000
[processorResponseText] => Approved
[additionalProcessorResponse] =>
[voiceReferralNumber] =>
[purchaseOrderNumber] =>
[taxAmount] =>
[taxExempt] =>
[creditCard] => Array
(
[token] => 6m76wy
[bin] => 444433
[last4] => 1111
[cardType] => Visa
[expirationMonth] => 12
[expirationYear] => 2018
[customerLocation] => US
[cardholderName] => Test
[imageUrl] => https://assets.braintreegateway.com/payment_method_logo/visa.png?environment=sandbox
[prepaid] => Unknown
[healthcare] => Unknown
[debit] => Unknown
[durbinRegulated] => Unknown
[commercial] => Unknown
[payroll] => Unknown
[issuingBank] => Unknown
[countryOfIssuance] => Unknown
[productId] => Unknown
[uniqueNumberIdentifier] => 8a0a266..............faf06f
[venmoSdk] =>
)
[statusHistory] => Array
(
[0] => Array
(
[timestamp] => DateTime Object
(
[date] => 2017-07-15 02:57:06.000000
[timezone_type] => 3
[timezone] => UTC
)
[status] => authorized
[amount] => 1.00
[user] => j234lk2342342j3l4
[transactionSource] => api
)
)
[planId] =>
[subscriptionId] =>
[subscription] => Array
(
[billingPeriodEndDate] =>
[billingPeriodStartDate] =>
)
[addOns] => Array
(
)
[discounts] => Array
(
)
[descriptor] => Array
(
[name] =>
[phone] =>
[url] =>
)
[recurring] =>
[channel] =>
[serviceFeeAmount] =>
[escrowStatus] =>
[disbursementDetails] => Array
(
[disbursementDate] =>
[settlementAmount] =>
[settlementCurrencyIsoCode] =>
[settlementCurrencyExchangeRate] =>
[fundsHeld] =>
[success] =>
)
[disputes] => Array
(
)
[authorizationAdjustments] => Array
(
)
[paymentInstrumentType] => credit_card
[processorSettlementResponseCode] =>
[processorSettlementResponseText] =>
[threeDSecureInfo] =>
)
)





