2011-11-20 14 views
6

हैलो मैं एक पेपैल खरीद बटन बनाना चाहता हूं जिसमें गतिशील सेट राशि हो। मैं फॉर्म के भीतर एक टेक्स्ट इनपुट फ़ील्ड और एक छिपे हुए फ़ील्ड द्वारा item_number द्वारा राशि पास करना चाहता हूं।ओवरराइट करने योग्य चर के साथ पेपैल बटन कैसे बनाएं

मुद्दा यह है कि मैं जो भी करता हूं मुझे पेपैल वेबसाइट से एन्क्रिप्टेड एस-एक्सक्लिक बटन मिलता है। यह बटन फ़ॉर्म में छिपे हुए चर को रखने की अनुमति नहीं देता है।

मुझे लगता है कि मुझे जो चाहिए वह एक एक्सक्लिक बटन है। मेरा लक्ष्य उपयोगकर्ताओं को मेरी वेबसाइट का आंतरिक रूप से क्रेडिट बढ़ाने की अनुमति देना है।

संपादित करें (सवाल का जवाब से सवाल करने के अलावा चलती) (यहां से @tokam:

:

चर्चा मैं इस समस्या के लिए अपने मौजूदा समाधान को दिखाने के लिए चाहते हैं के लिए इस जोड़ने के लिए

यहाँ हम कुछ जावास्क्रिप्ट सत्यापन जो इनपुट के साथ उपयोगकर्ता मदद करता है। पहचानो कि यह सफलता पर lightbox

function validatePaypalForm() 
{ 
    var val = $('#paypalPaymentAmount').val().replace(/\s*$/, "").replace(/,/ , ".").replace(/€$/, ""); 
    var errormsg = ''; 
    var ret, amountField; 
    if(val==='' || isNaN(parseFloat(val)) || !isFinite(val)) 
    { 
     errormsg = 'Bitte geben Sie einen gültigen Betrag an'; 
}else if(parseFloat(val) < <?php echo $this->minimum?> ) 
{ 
    errormsg = 'Das Einzahlungsminimum betr&auml;gt <?php echo $this->minimum?>&euro;'; 
} 

ret = (errormsg === ''); 


amountField = $('#paypalAmountField'); 
if(ret) 
{ 
    amountField.removeClass('error');  
    $('#paypalAmountErrorMessage').html('&nbsp;'); 
    $('#paypalPaymentAmount').val(val); 
    fb.start( 
     '<p><strong>Sie werden in kürze zur Seite von Paypal weitergeleitet.</strong></p>', 
     'width:700 showPrint:false modal:true showClose:false showOuterClose:true showItemNumber:false closeOnNewWindow:false outsideClickCloses:true innerBorder:0 imageClickCloses:false scrolling: no' 
    ); 

}else{ 
    amountField.addClass('error'); 
    $('#paypalAmountErrorMessage').html(errormsg); 
} 

return ret; 

} यहाँ अब मेरे बटन आता है खोलता है। मुद्दों के साथ मैं कर रहा हूँ जैसे कर रहे हैं कि यह आसान है टी के लिए वह उपयोगकर्ता को एक अन्य मुद्रा कोड सेट करने के लिए। मैं भुगतान को वापस कर अपने आईपीएन श्रोता में इसे संभाल सकता था। क्या कोई अन्य समस्याएं हैं जो एक अनएन्क्रिप्टेड परिवर्तनीय बटन के साथ आती हैं?

<form onsubmit="return validatePaypalForm();" class="stn-form" action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
<fieldset id="fieldset-p"><legend><span>2.</span>myproject Guthaben aufladen per Paypal Zahlung</legend> 
<div id='paypalAmountField' class="field"> 
<label for='paypalPaymentAmount' >Betrag &euro;:</label> 
<input id='paypalPaymentAmount' type="text" name='amount' value='' /> 
<span style='display:block;' id='paypalAmountErrorMessage' class='errorText'>'&nbsp;</span> 

</div> 
<input type="hidden" name="cmd" value="_xclick"> 
<input type="hidden" name="business" value="THE_ID_OF_MY_CLIENT"> 
<input type="hidden" name="lc" value="DE"> 
<input type="hidden" name="item_name" value="myproject Advertiser Vorkasse"> 
<input type="hidden" name='item_number' value="11500"> 
<input type="hidden" name="currency_code" value="EUR"> 
<input type="hidden" name="button_subtype" value="services"> 
<input type="hidden" name="no_note" value="1"> 
<input type="hidden" name="no_shipping" value="1"> 
<input type="hidden" name="bn" value="PP-BuyNowBF:btn_paynowCC_LG.gif:NonHosted"> 
<input type="hidden" name="rm" value="1"> 
<input type="hidden" name='cbt' value="Zu myproject.de zur&uuml;ckkehren"> 
<input type="hidden" name="currency_code" value="EUR"> 
<input type="hidden" name="return" value="http://myproject.somedomain.net/advertiser/guthaben-aufladen/ret/success" /> 
<input type="hidden" name="cancel_ return" value="http://myproject.somedomain.net/advertiser/guthaben-aufladen/ret/canceled" /> 
<div class="actionrow"> 

<input type="image" src="https://www.paypalobjects.com/de_DE/DE/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="Jetzt einfach, schnell und sicher online bezahlen – mit PayPal."> 
<img alt="" border="0" src="https://www.paypalobjects.com/de_DE/i/scr/pixel.gif" width="1" height="1"> 
</div> 
</fieldset> 
</form> 
+0

तुम क्या करने की कोशिश की है? परिणाम कहां हैं? क्या आप किसी और को यह लिखने की उम्मीद करते हैं? –

+0

क्या आप वास्तव में समझते थे कि मैं कोड नहीं मांग रहा हूं? मैं एक गैर होस्टेड बटन बनाने के लिए पेपैल वेबसाइट पर फ़ंक्शन के लिए पूछ रहा हूं या एस-एक्सक्लिक के बजाय cmd प्रकार xlick को अनुमति देने के लिए !!!! –

+1

एक साधारण वेब खोज आपको वह देगी! – alonisser

उत्तर

9

कारण आप गतिशील रूप से राशि को ओवरराइड नहीं कर सकते हैं, क्योंकि आपके पास तथाकथित 'पेपैल होस्टेड बटन' है।
होस्ट किए गए बटन के साथ, राशि पेपैल की तरफ संग्रहीत की जाती है और 'राशि' चर के साथ ओवरराइट नहीं की जा सकती है। आप या तो एक गैर होस्टेड बटन का उपयोग करना चाहते हैं, या BMUpdateButton एपीआई कॉल का उपयोग गतिशील रूप से बटन की राशि को अपडेट करने के लिए करेंगे।
गैर-होस्ट किए गए बटन का उपयोग करने के लिए, बस बटन निर्माण टूल में 'चरण 2' ढूंढें और 'पेपैल के साथ होस्ट बटन' को अनचेक करें।

विकल्प 2: अभी भी होस्ट किए गए बटन का उपयोग करें, और राशि अपडेट करने के लिए BMUpdateButton API का उपयोग करें।BMUpdateButton के लिए एक उदाहरण अनुरोध के रूप में विचार करेंगे इस प्रकार है:

USER=Your API username 
PWD=Your API password 
SIGNATURE=Your API signature 
VERSION=82.0 
HOSTEDUBTTONID=The value of <input type="hidden" name="hosted_button_id" value=""> 
BUTTONTYPE=The type of button. E.g. BUYNOW 
BUTTONCODE=The type of code you want to get back. E.g. HOSTED 
L_BUTTONVAR0=amount=The new amount with a period as separator 
L_BUTTONVAR1=item_name=Optional: a new item name if you wish 

Similary, आप भी BMCreateButton एपीआई एक नया बटन बनाने के लिए इस्तेमाल कर सकते हैं, या (करने के लिए अपने सभी संग्रहीत की मेजबानी की बटन की एक सूची के माध्यम से खोज करने के लिए BMButtonSearch एपीआई का उपयोग अपने बटन के hosted_button_id स्वचालित रूप से, उदाहरण के लिए उपयोग करने के लिए एक होस्ट की गई बटन, क्योंकि यह अधिक सुरक्षित है लगता है)

कारण। एक गैर-होस्टेड, अनएन्क्रिप्टेड बटन मूल रूप से हेरफेर के लिए खुली मात्रा छोड़ देगा। धोखाधड़ी लेनदेन होने का इंतजार कर रहा है।

+0

मैं उपयोगकर्ता राशि में टाइप करने के लिए अनुमति दी जा करना चाहते हैं संशोधित सकता है, लेकिन मुझे यकीन है कि बेहतर होना चाहते हैं मुद्रा कोड उपयोगकर्ता द्वारा नहीं बदला गया है । मुझे लगता है कि यह अनुचित है कि उन्होंने मेरा प्रश्न नीचे दिया। यह बहुत आसान नहीं है और मैं पूछने से पहले घंटे गुगल गया! –

+0

उपर्युक्त उत्तर अभी भी लागू होता है। आप खरीदार को राशि दर्ज करने की अनुमति दे सकते हैं, फिर उस राशि को ले लें, बीएमसी रीट बटन एपीआई को कॉल करें, राशि भेजें, hosted_button_id प्राप्त करें और खरीदार को पेपैल पर रीडायरेक्ट करें (https://www.paypal.com/cgi-bin/webscr? cmd = _s-xclick और hosted_button_id = response_for_hosted_button_id_here) – Robert

+0

मैंने अनएन्क्रिप्टेड समाधान लागू किया लेकिन मुझे लगा कि पोस्ट कोड बदलने के लिए पोस्ट वेरिएबल मैनिपुलेशन द्वारा संभव है। मैं या तो अपने आईपीएन श्रोता में अब पकड़ सकता हूं और उस मामले में भुगतान वापस कर सकता हूं लेकिन मैं आपके समाधान को लागू करने के लिए कुछ समय बिताने जा रहा हूं। तुम क्या सोचते हो? मुझे वैसे भी साबुन या एनवीपी के साथ धनवापसी की जरूरत है। मैं आपको दिखाऊंगा कि मेरे पास पहले से क्या है। –

2

आपको एक्सक्लिक का उपयोग नहीं करना चाहिए जो एन्क्रिप्टेड नहीं है। जिस तरह से मैंने हल किया है वह paypal button api का उपयोग कर रहा है - क्लाइंट में किसी प्रकार की कैशिंग के साथ ताकि आप हर बार संपूर्ण http अनुरोध प्रतिक्रिया नहीं करेंगे।

ध्यान दें कि paypal एपीआई के 2 प्रकार का उपयोग करता है - NVP जो एक तरह से शोकहारा (भी नहीं वास्तव में) और सोप है

आप भी उपयोग कर अपने सर्वर में एन्क्रिप्टेड बटन उत्पन्न कर सकता है (मैं NVP विधि का इस्तेमाल किया) openssl - लेकिन मैं इस विधि के साथ न सुलझा हुआ समस्याओं में चलाने और यहां पर अथवा paypal भयानक डेवलपर मंचों

में उस के लिए कोई मदद नहीं मिल सका

संपादित करें: नहीं एन्क्रिप्टेड बटन के साथ समस्या यह है कि फ़ायरबग का उपयोग कर किसी (बात नहीं कर रहे अधिक उन्नत टूल के बारे में) भुगतान को समझने और लागत आदि को बदल सकता है ..

यदि आप उस दिशा में जोर देते हैं तो आप इस बटन को बनाने के लिए पेपैल से सरल HTML फॉर्म का पालन कर सकते हैं। आप इसे पेपैल साइट पर करते हैं और एक अनएन्क्रिप्टेड बटन बनाते हैं और फिर HTML को संपादित करते हैं और आवश्यक फ़ील्ड को <?php $variable?> पर बदलते हैं। मैं इस पथ के खिलाफ दृढ़ता से सलाह दूंगा।

+0

एपीआई का उपयोग करने की आपकी प्रगति क्या है? गैर एन्क्रिप्टेड बटनों का जोखिम क्या है? 1a-android.de पर मैं एक गैर एन्क्रिप्टेड बटन चलाता हूं जो ठीक काम करता है लेकिन यह एक दान बटन है और मैं भूल गया कि मैं एपीआई के बिना और एस-एक्सक्लिक के बिना कैसे प्राप्त करने में कामयाब रहा। यहाँ http://www.1a-android.de/android-spiele/farm-story-nachbarn/ –

+0

मैं इस पाया अब http://support.qualityunit.com/knowledgebase/post-affiliate-pro/tips-tricks /how-to-create-paypal-non-hosted-non-encrypted-buttons.html लेकिन मुझे यकीन है कि अगर यह सुरक्षित पर्याप्त कि जिस तरह से है नहीं कर रहा हूँ। मुझे यह जांचना होगा कि उपयोगकर्ता द्वारा मुद्रा कोड नहीं बदला जाएगा। –

+0

यह असुरक्षित अनएन्क्रिप्टेड तरीका है! लेकिन यह काम करेंगे, मैंने कोशिश की यह – alonisser

0

मुझे लगता है कि यह आपके लिए काम कर सकते हैं, तो आप अद्यतन ... "[email protected]" ... यह गैर एन्क्रिप्टेड है और अभी भी

समाशोधन ड्रॉप के लिए paypal की साइट पर होस्ट करने के लिए लगता है: value = " my_default_price " अगर आप उपयोगकर्ता एक खाली पाठ बॉक्स में दर्ज करें करना चाहते हैं ... अपने पृष्ठ के लिए, कीमतों सोने की कीमत से जुड़े होते हैं, इसलिए मैं गतिशील चर का अद्यतन करने के लिए है" राशि "और मैं सिर्फ मूल्य को बंद रखना होगा =

<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
<input type="hidden" name="cmd" value="_xclick"> 
<input type="hidden" name="business" value="[email protected]"> 
<input type="hidden" name="item_name" value="example description"> 
<input type="hidden" name="item_number" value=""> 
<input type="text" name="amount" value="my_default_price"> 
<input type="hidden" name="no_shipping" value="1"> 
<input type="hidden" name="return" value="http://www.yoursite.com/returnpage.php"> 
<input type="hidden" name="currency_code" value="USD"> 
<input type="hidden" name="lc" value="US"> 
<input type="hidden" name="bn" value="PP-BuyNowBF"> 
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but02.gif" border="0" name="submit" alt="Make your payments with PayPal. It is free, secure, effective."> 
<img alt="" border="0" src="https://www.paypal.com/it_IT/i/scr/pixel.gif" width="1" height="1"> 
</form> 
संबंधित मुद्दे