Intereting Posts
Переименование пули моего пользовательского типа сообщений в WordPress больше не работает и сохраняет старую слизню Android с php: сохранение строки utf-8 в MySQL Почему, когда я отправляю значение текстового поля в AJAX скрипту PHP, он не работает и дает мне ошибку синтаксического анализа JSON? Игнорирование сообщения об ошибке сервера при использовании Yii CMemCache Как определить, нужно ли применять utf8 декодировать или кодировать строку? PHP: API Reflection – отличное дополнение к PHP с небольшим использованием Возобновляемая загрузка прерывается после нескольких GB Пользовательский модуль Magento: несколько загрузчиков изображений в форме adminhtml Аутентификация REST в PHP (CodeIgniter) (mysql, php) Как получить значение поля auto_increment перед вставкой данных? Является ли это правильным объектно-ориентированным программированием в php? Как я могу получить данные Google Analytics? Адресный массив PHP, декодированный из JSON Каковы проблемы, связанные с производительностью PHP curl Требуются условные обозначения PHP, скобки?

Платежи 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." 

У меня есть код отсюда

    Наконец, я получил реальный ответ от Брейнтри. Мне пришлось добавить еще два параметра. Один из merchantAccountId : serviceFeeAmount и другие – это serviceFeeAmount . Здесь идентификатор merchantAccountId является фактическим продавцом- merchantAccountId . Вы получите merchantAccountId от Braintree. После входа в систему перейдите к настройкам-> Обработка . В нижней части страницы вы получите View Merchant Account . Здесь вы получите merchantAccountId. Не используйте default 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); 

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

    1. Пропустите файл merchant_account_id – см. Пример на https://www.braintreepayments.com/docs/php/transactions/escrow

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

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

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

    Должно быть:

     'holdInEscrow' => true 

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