Estou trabalhando para o Magento 2 desde a primeira versão. Até agora, para pagamentos, usei apenas o Paypal Express Checkout. Mas agora há um requisito para integrar a postagem direta do Authorize.net. E eu tentei integrá-lo usando credenciais de sandbox.
Agora, quando estou na página de check-out, selecione Authorize.net para efetuar pagamentos usando o número do cartão de amostra da sandbox, por exemplo: - Cartão de teste da American Express: 3700000000000000002 , Quando clico no pedido, ele continua mostrando o carregador. Mas se eu puder ver no painel do administrador em Vendas> Pedido m Ele mostra o pedido que acabei de fazer.
Eu procurei allot e descobri que algumas pessoas postaram o mesmo problema, mas também mencionaram a versão do PHP como 7.0.x, onde estão recebendo problemas. por exemplo aqui
Mas estou usando a versão 5.6.20 do PHP e também tenho esse problema primeiro com a versão Magento 2.0.6 . Agora eu fiz uma nova instalação do Magento 2.0.7 no novo servidor, mas os problemas ainda estão lá
Minhas configurações do painel de administração do Authorize.net são
Modo de teste: Sim
URL do gateway : https://secure.authorize.net/gateway/transact.dll
Eu até tentei com
https://test.authorize.net/gateway/transact.dll
URL dos detalhes da transação : https://api2.authorize.net/xml/v1/request.api
Depuração : Sim
Agora, quando eu verifiquei o debug.log
está dizendo
[2016-05-27 12:35:03] main.DEBUG: cache_invalidate: {"method":"POST","url":"http://example.com/authorizenet/directpost_payment/place/","invalidateInfo":{"tags":["catalog_category_3","catalog_category"],"mode":"matchingAnyTag"},"is_exception":false} []
[2016-05-27 12:35:03] main.DEBUG: array (
'request' =>
array (
'x_version' => '3.1',
'x_delim_data' => 'FALSE',
'x_relay_response' => 'TRUE',
'x_test_request' => 'TRUE',
'x_login' => '****',
'x_method' => 'CC',
'x_relay_url' => http://example.com/authorizenet/directpost_payment/response',
'x_type' => 'AUTH_CAPTURE',
'x_fp_sequence' => '2',
'x_invoice_num' => '000000002',
'x_amount' => 5.0099999999999998,
'x_currency_code' => 'USD',
'x_tax' => '0.00',
'x_freight' => '5.00',
'x_first_name' => 'Dinesh',
'x_last_name' => 'Saini',
'x_company' => '',
'x_address' => 'test',
'x_city' => 'California',
'x_state' => 'Alabama',
'x_zip' => '90001',
'x_country' => '',
'x_phone' => '1234567890',
'x_fax' => '',
'x_cust_id' => '',
'x_customer_ip' => '122.173.244.114',
'x_customer_tax_id' => '',
'x_email' => '[email protected]',
'x_email_customer' => '1',
'x_merchant_email' => '',
'x_ship_to_first_name' => 'Dinesh',
'x_ship_to_last_name' => 'Saini',
'x_ship_to_company' => '',
'x_ship_to_address' => 'test',
'x_ship_to_city' => 'California',
'x_ship_to_state' => 'Alabama',
'x_ship_to_zip' => '90001',
'x_ship_to_country' => '',
'x_po_num' => '',
'x_fp_timestamp' => 1464352503,
'x_fp_hash' => '27827498413496cd9ad6ed247e9688f3',
),
) {"is_exception":false} []
Alguém por favor pode ajudar, há algo de errado na minha configuração ou eu tentei com outra coisa.
Respostas:
Acho que você está trabalhando no servidor local (localhost). Há problema em obter resposta na máquina local. Tente com qualquer servidor ativo. Eu tinha o mesmo problema, mas quando experimentado ao vivo, funciona bem.
fonte
Encontrei um problema semelhante com o magento ee 2.0.15. Após alguma depuração criativa, localizei meu problema em uma configuração aparentemente não relacionada: Stores :: Configuração :: Vendas :: Emails de Vendas :: Configurações Gerais :: Configurações Assíncronas. O que descobri é que, quando o "transact.dll" é postado no seu site em / authorizenet / direct_post / response, e a cobrança foi bem-sucedida, o magento tenta enviar um e-mail ao usuário se a configuração acima estiver desativada. Este email usa o sistema de layout magento e carrega seu próprio layout. O problema é que o mesmo objeto "layout" é usado posteriormente no ciclo de solicitação e quando você espera carregar a atualização de layout "authorizenet_directpost_payment_response.xml", isso não ocorre porque o construtor verifica se o layout já foi carregado, o que isso foi. Isso resulta em um layout vazio e uma resposta de 0 byte. O "transact.dll" do Authorize.net interpreta isso como um tempo limite, mesmo que os cabeçalhos tenham sido enviados e o comprimento do conteúdo especificado como 0 bytes.
Continuando com isso. Se você alterar a configuração de e-mail acima, os e-mails de confirmação de vendas serão enviados via tarefa cron. Se seu site for veiculado no diretório "pub", será necessário definir a mídia base segura e não segura e os caminhos estáticos na configuração das lojas. Eu descobri que usar a sintaxe do espaço reservado é suficiente: "{{unsecure_base_url}} static /" e "{{unsecure_base_url}} media /" por exemplo.
fonte
LOJAS -> Configuração -> VENDAS -> Métodos de pagamento -> Correio direto do Authorize.net> Modo de teste, altere para "Não"
fonte
Estou tendo o mesmo problema.
Alguém tem Autorize.net trabalhando
Magento 2.1.2
?Eu olhei para o exception.log e encontrei
Alguma idéia / sugestão / oração?
fonte
Faça https no URL do domínio e tente com os detalhes da conta autorizada ao vivo. Funcionará perfeitamente.
obrigado
fonte
No meu caso, usei uma chave hash md5 muito longa, portanto estava dando erro no servidor. Por favor, tente a chave mais curta na chave hash md4. Funciona
fonte