CC İşleme komut ile yardım

2 Cevap php

Şu anda tüccar ağ geçidi tarafından sağlanan çoğu gibi, bir kredi kartı işleme komut uygulamak duyuyorum. Kodu bir sınıf içinde işlevlerini çağırır ve yanıt dayalı bir dize döndürür. Ben örnek bilgi (tabii kaldırıldı ayrıntıları) kullanıyorum sonu php kodu:

<?php
$gw = new gwapi;
$gw->setLogin("username", "password");
$gw->setBilling("John","Smith","Acme, Inc.","888","Suite 200", "Beverly Hills",
        "CA","77777","US","555-555-5555","555-555-5556","support@example.com",
        "www.example.com");
//        "CA","90210","US","support@example.com");
$gw->setOrder("1234","Big Order",1, 2, "PO1234","65.192.14.10");

$r = $gw->doSale("1.00","4111111111111111","1010");
print $gw->responses['responsetext'];

?>

setlogin beni giriş sağlar nerede, setbilling, örnek tüketici bilgileri alır set sipariş sipariş kimliği ve açıklaması alır, dosale, cc numarası ve exp date ücret miktarda alır.

tüm değişkenleri işleme için gönderdi doğrulandıktan sonra gönderildiği zaman, bir dize aşağıdaki biçimde döndürülür:

response=1&responsetext=SUCCESS&authcode=123456&transactionid=23456&avsresponse=M&orderid=&type=sale&response_code=100

burada:

  • response = transaction approved or declined
  • tepki text = metin tepki
  • authcode = transaction authorization code
  • transactionid = payment gateway tran id
  • avsresponse = AVS yanıt kodu
  • orderid = original order id passed in tran request
  • response_code = numeric mapping of processor response

Ben aşağıdaki için çözmeye çalışıyorum:

  1. How do I take the data which is passed back and display it appropriately on the page - If the transaction failed or AVS code doesnt match my liking or something is wrong, an error is displayed to the consumer; if the transaction processed, they are taken to a completion page and the transaction id is sent in SESSION as output to the consumer
  2. If the response_code value matches a table of values, certain actions are taken, i.e. if code =100, take to success page, if code = 300 print specific error on original page to customer, etc.

2 Cevap

parse_str() with the array argument dize dışında anahtar / değer çiftleri bir dizisini almak için (olmadan asla kullanmayın) kullanın. Daha sonra kolayca ayrı değerleri erişmek ve mantığı uygulayabilirsiniz.

Ben ilk dizisini almak için, explode function on the whole string, separating on the & işaretini kullanabilirsiniz. Ben daha sonra bir anahtar-değer çifti almak için = işaretini ayıran, başka explode ile sonuç üzerinde yineleme olur. Oradan başka bir dizi olduğu gibi çalışabilirsiniz.