Платежи Braintree Escrow Финансирование

Я пытаюсь реализовать условное депонирование с помощью Braintree в php. Я скачал библиотеку с здесь. Мой код ниже: -

require_once "../braintree/lib/Braintree.php";

Braintree_Configuration::environment("sandbox");
Braintree_Configuration::merchantId("was4zgn5x6vt99h");
Braintree_Configuration::publicKey("ydjrasdwyw9npkvnw4");
Braintree_Configuration::privateKey("f197ac5a66a1fsad37d3950890b2cbda9");

$result = Braintree_Transaction::sale(
  array(
'amount' => "100.00",

'creditCard' => array(
  'number' => "4111111111111111",
  'expirationDate' => "12/2014",
),
'options' => array(
  'submitForSettlement' => true,
  'holdInEscrow' => true,
)

  )
    );
echo "<pre>";
 print_r("\n  message: " . $result->message);

Работает на прямую оплату. Но это не работает для условного депонирования. Пожалуйста, проверьте мой код.

Ошибка: -

"message: Transaction could not be held in escrow."

Я получил код из здесь


person Bik    schedule 03.09.2014    source источник
comment
Кажется, это не ошибка вашего кода. Они не могут обработать эту транзакцию как условное депонирование.   -  person user4035    schedule 03.09.2014
comment
Я не понимаю, что вы говорите. Пожалуйста, дайте мне несколько ссылок, которые могут мне помочь..   -  person Bik    schedule 03.09.2014
comment
Если это ваши настоящие ключи, вы, вероятно, захотите их поменять...   -  person Brad Werth    schedule 04.09.2014
comment
Спасибо @BradWerth, нет, это не мои настоящие ключи. Не могли бы вы предложить мне что-нибудь о условном депонировании брейнтри .......   -  person Bik    schedule 05.09.2014
comment
@Bik Ты когда-нибудь это понял? у меня такая же проблема   -  person Devin Dixon    schedule 26.10.2014
comment
@DevinDixon Да, у меня есть ответ. Я опубликую это.   -  person Bik    schedule 28.10.2014


Ответы (3)


Наконец-то я получил реальный ответ от Braintree. Пришлось добавить еще два параметра. Один merchantAccountId, а другой serviceFeeAmount. Здесь merchantAccountId id на самом деле является субпродавцом merchantAccountId. Вы получите merchantAccountId от Брейнтри. После входа перейдите в раздел Настройки->Обработка. В нижней части страницы вы найдете Просмотреть все аккаунты продавца. Здесь вы получите мерчАккаунтИд. Не используйте мерчАккаунтид по умолчанию, это не сработает.

require_once "../braintree/lib/Braintree.php";
Braintree_Configuration::environment("sandbox");
Braintree_Configuration::merchantId("was4zgn5x6vt99h");
Braintree_Configuration::publicKey("ydjrasdwyw9npkvnw4");
Braintree_Configuration::privateKey("f197ac5a66a1fsad37d3950890b2cbda9");

$result = Braintree_Transaction::sale(
  array(
'amount' => "100.00",
'merchantAccountId' => 'test_user_instant_5vcgn574',
'creditCard' => array(
  'number' => "4111111111111111",
  'expirationDate' => "12/2014",
),
'options' => array(
  'submitForSettlement' => true,
  'holdInEscrow' => true,
),
'serviceFeeAmount' =>'1'

  )
);
echo "<pre>";
print_r("\n  message: " . $result->message);
person Bik    schedule 07.07.2015

Я думаю, что вам нужны две вещи:

  1. Передайте идентификатор_аккаунта_торговца — см. пример на https://www.braintreepayments.com/docs/php/transactions/escrow

  2. Вы можете использовать условное депонирование только в том случае, если ваша учетная запись продавца использует Marketplace. https://www.braintreepayments.com/docs/php/guide/marketplace

person compiledweird    schedule 05.09.2014

Я думаю, вы допустили ошибку в своем коде:

'options' => array(
  'submitForSettlement' => true,
  'holdInEscrow' => true,
)

Должно быть:

'holdInEscrow' => true

После 'holdInEscrow' => true не должно быть запятой

person Tony Yu    schedule 08.05.2015
comment
Это не имеет значения, запятые в конце массива не влияют на результат - person shakaran; 17.01.2017