私はHerokuのRailsでAuthorize.netを使用しています。私のauthorize.netトランザクションは成功するが、失敗したと報告するのはなぜですか?
https://developer.authorize.net/integration/fifteenminutes/ruby
私はAuthorize.net上でアカウントを作成し、同じようauthorize.netし送信するフォームを構築している:私は、次のようなオンラインの例を使用してAuthorize.netにリクエストを送信するためのフォームを作成しましたそう(HAMLで):
%h3 Enter your credit card details
= form_for :sim_transaction, :url => @gateway_url do |f|
= sim_fields(@sim_transaction)
= order_details(@order)
.fields
.field
= label_tag 'x_card_num', 'Credit Card Number'
= text_field_tag 'x_card_num', params[:x_card_num], :style => 'width:200px'
.field
= label_tag 'x_exp_date', 'Expiration Date (MMYY)'
= text_field_tag 'x_exp_date', params[:x_exp_date], :style => 'width:40px'
.action
= f.submit 'Confirm order'
ORDER_DETAILSは、発注書等から最初の名の隠しフィールド、姓を作成するヘルパーメソッドです。
authorize.netとユーザーのクレジットカードで処理された注文は請求されますが、中継応答へのPOSTはsim_responseが失敗し、処理されなかったことを示します。
if **sim_response.success?**(AUTHORIZE_NET_CONFIG['api_login_id'], AUTHORIZE_NET_CONFIG['merchant_hash_value'])
render :text => sim_response.direct_post_reply(payments_receipt_url(:only_path => false), :include => true)
else
render
end
sim_response.success?コールはfalseです。または、具体的には、成功の方法と成功のこの部分で2つのテストがありますか?メソッドが偽です:
sim_response.valid_md5?(AUTHORIZE_NET_CONFIG['api_login_id'], AUTHORIZE_NET_CONFIG['merchant_hash_value'])
私が返す結果コードは、トランザクションが処理されたことを意味します。それも私が見るテキストです。
私の研究では、valid_md5メソッドは誤ったapi_login_idがある場合にのみ発生しますが、そうは思われません。 login_idが間違っていた場合、トランザクションは成功しますか?これを追跡するための他の提案はありますか?
間違いなく、「クイックスタート」からはっきりとしたことはありません。 MD5ハッシュ機能の詳細については、[SIM Guide](http://www.authorize.net/support/SIM_guide.pdf)が役立つことがわかりました。第6章の「MD5ハッシュ機能の使用」を参照してください。 –
同様の問題が発生しています。私のauthorize_net.ymlには、 "merchant_hash_value"がありますが、MD5_hashはありません。あなたのアプリケーションを再び動かすためにMD5_hashフィールドを持っていなければなりませんか? –