Är nybörjare vad gäller PHP, men ganska ok vad gäller html/css.
Har köpt ett enkelt php-script som passar mig, för att användas som varukorg i en liten webshop. Kan inte php men är bra på att klippa, klistra och göra vad andra säger till mig att göra som vet bättre *ler*.
Har fastnat i kopplingen mellan Paysons gränssnitt (som fungerar i annan funktion hos mig, så den är ok) och scriptets gränsnitt. Använder PayPal som mall och vill nu convertera till Paysons. Detta är koden jag slåss med (gäller nu för PayPal) men behöver lite grundinformation om php enligt följande:
case 'paypal':
$url = "https://www.paypal.com/xxxxxxxxx.aspx";
$fields = array(
"cmd"=>'_cart',
"upload"=>'1',
"rm"=>'1',
"business"=>_PAYMENT_PAYPAL_EMAIL,
"currency_code"=>_PAYMENT_CURRENCY,
"handling_cart"=>'0',
//"notify_url"=>"", // set this to cart for later, when we're processing ipn's
"cancel_return"=>_SIMPLESHOP_BASE._SIMPLESHOP_URL,
"return"=>((!preg_match('#^https?://#i',_PAYMENT_CONTINUE_URL)) ? _SIMPLESHOP_BASE : '' ) ._PAYMENT_CONTINUE_URL,
"image_url"=>'',
);
// now add the products.
$product_number = 1;
foreach($cart_products as $cart_product){
$fields['item_name_'.$product_number] = $cart_product['name'];
$fields['quantity_'.$product_number] = $cart_product['quantity'];
$fields['amount_'.$product_number] = $cart_product['price'];
//$fields['tax_'.$product_number] = $cart_product['tax'];
$product_number ++ ;
}
// add all customer information to the payson url:
if($cart_shipping > 0){
//$fields['shipping'] = (float)$order_details['shipping_details']['shipping_price'];
$fields['item_name_'.$product_number] = _SIMPLESHOP_SHIPPING_NAME;
$fields['quantity_'.$product_number] = 1;
$fields['amount_'.$product_number] = $cart_shipping;
$fields['tax_'.$product_number] = 0;
$product_number ++ ;
$fields['email'] = $_POST['email'];
$fields['first_name'] = $_POST['first_name'];
$fields['last_name'] = $_POST['last_name'];
$fields['address1'] = $_POST['member_address1'];
$fields['address2'] = $_POST['member_address2'];
$fields['city'] = $_POST['member_city'];
$fields['country'] = $_POST['member_country'];
$fields['zip'] = $_POST['member_post_code'];
}else{
$fields['no_shipping'] = 1;
}
//print_r($fields);exit;
foreach($fields as $key=>$val){
$url .= $key . "=" . urlencode($val) . "&";
}
header("Location: $url");
break;
// nedanför är uppgifterna som Payson vill få in!
if(!isset($_POST['submit']))
{
header("Location: index.html");
exit;
}
$AgentID = "22222";
$Key = "34344343434343434";
$BuyerFirstName = $_POST['BuyerFirstName'];
$BuyerLastName = $_POST['BuyerLastName'];
$Description = "Beställning gjord hos ";
$SellerEmail = "order@mindomain.se";
$BuyerEmail = $_POST['BuyerEmail'];
$Cost = $_POST['Cost']; //Summa att betala
$ExtraCost = "0"; //ev extra fraktkostnad
$OkUrl = "http://www.mindomain.se/";
$CancelUrl = "http://www.mindomain.se/";
$RefNr = $_POST['RefNr']; //Faktura eller order nummer
$GuaranteeOffered = "1";
$MD5string = $SellerEmail . ":" . $Cost . ":" . $ExtraCost . ":" . $OkUrl . ":" . $GuaranteeOffered . $Key;
$MD5Hash = md5($MD5string);
Behöver nu förstå vad som händer med ...
a) Vad uträttar $fields = array( ?
b) "business"=>_PAYMENT_PAYPAL_EMAIL,
- Vilken "sida = mitt eget script alt. Payson", representerar "business" ?
- Vilken "sida = mitt eget script alt. Payson", representerar _PAYPAL_EMAIL ?
- Vad innebär " => "?
c) Vad uträttar foreach($cart_products as $cart_product){
$fields['item_name_'.$product_number] = $cart_product['name']; ?
- behövs dessa variabler, då Payon endast använder "Description"?
d) if($cart_shipping > 0){
- vad står "0" för?
- hur "fångar jag upp" de uppgifter som Payson kräver typ $AgentID och $Key då dessa inte finns
i något "field", utan endast under $fields = array( ?
- hur/var skickar jag iväg $MD5string och $MD5Hash ?
Kan någon i lekmannatermer hjälpa mig att förstå vad som är vad i mina frågor, så skulle jag uppskatta det.
MEN verkar faktiskt som om jag ändå nästan är i hamn. Har testat 100 varianter och använt lite sunt bondförnuft utan att veta riktigt vad det är jag gör *ler*.
Nu saknas bara att få in MD5!
Vilket värde skall anges vid MD5, då det inte fungerar som det är skrivet nu.
Var skall $MD5string, $Key och $MD5Hash skrivas, innaför eller utanför $fields = Array()?
Eftersom jag själv inte kommer vidare enligt mitt upplägg ovan och inte får någon support, har jag tittat på ett annat upplägg som kanske är lättare att tycka till om.
Koden fungerar fram t o m Paysons testsida, som bekräftar att all information skickas till Payson. MEN när jag byter ut "testagent" mot "merchant" och skall köra skarp får jag ett felmeddelande som säger att informationen saknas????
Tar gärna lite synpunkter annars hade jag inte frågat. Känns som att ropa ut i tomma intet samtidigt som 160 st läst inlägget på 2 dagar, så helt ointressant kan inte ämnet vara!
Mvh Nils
261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e