0

奇妙に思えるいくつかの問題を発見した後、PayPalをフラッシュに組み込む方法を見つけるためにオンラインで検索しており、他の人がこれらを機能させるのがなぜそれほど苦痛なのか理解してくれることを願っています

Paypal コードを表示する動的テキスト ファイルは、xml 検証で「不適切な xml 構造」と呼ばれるものが原因で機能しないようです。これを整理して、Paypal と xml の両方の要件を満たしているにもかかわらず、ボタンを表示することも、xml を取得してエラー : #1085 を超えることもできないようです。

Flash に addToCart を取得させたり、毎回ペイパル ページに移動せずにカートの詳細を参照させようとすることは、サード パーティのカートがなければ不可能であり、ボタン ジェネレーターのコードを xml 配列に融合して、あなた自身のギャラリーは、私が乗り越えることができないように見える別の問題です.

as3 と Paypal の両方を簡単に同期できるようにして、Flash から ExternalInterface を起動して、Paypal Button コードでの動作をコミットする方法があるのではないかと考えました。

私は Paypal のミニカートを試してみましたが、これは 2 つを橋渡しするのに最適な方法のようですが、Paypal ボタンのコードを Flash に取り込んで、コードが必要とするのと同じように動作させることができないためです。

多くの人がこのように2つを機能させるのに苦労していると確信しているので、私を正しい方向に向ける助けは素晴らしいでしょう.

  • (また、Paypal と Flash の歴史を考えると、それらのボタン コードに xml 経由でアクセスできない理由を理解するのは困難です!)

修正例

通常、(Paypal コード ジェネレーターからのように) 以下のコードを読み込んで、標準の info.xml ファイルに含めて、通常の html セットアップで使用しようとすると、次のエラー コードがスローされます。

エラー: #1085 は、終了タグが閉じられていないことから、不十分な xml マークアップの症状であり、次の終了 "/>" で修正された場合、画面に表示されません。

タグを修正して検証し、間違いをチェックしても同じ結果が得られました。データをhtml、txtなどとしてインポートするためにさまざまな方法を使用しましたが、まだ喜びはありません.

ペイパルコード

<![CDATA[<form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="business" value="WHATEVER YOUR BUSINESS IS">
<input type="hidden" name="lc" value="GR">
<input type="hidden" name="item_name" value="Card - Birthday">
<input type="hidden" name="item_number" value="BC 01-00-01">
<input type="hidden" name="amount" value="3.25">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="button_subtype" value="products">
<input type="hidden" name="no_note" value="0">
<input type="hidden" name="cn" value="Add special instructions to the seller:">
<input type="hidden" name="no_shipping" value="2">
<input type="hidden" name="tax_rate" value="23.000">
<input type="hidden" name="shipping" value="1.75">
<input type="hidden" name="add" value="1">
<input type="hidden" name="bn" value="PP-ShopCartBF:btn_cart_LG.gif:NonHosted">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_cart_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>]]>

タグと生コードなしでも試してみましたが、すべてエラーが発生するか、データが表示されません。

配列内のボタンで同じ効果をペイパルに渡すために AS3 変数を分解することに成功しましたが、これによりブラウザが開き、すべてのインスタンスがペイパルに移動します。ボタンのコードと、毎回項目を追加する 10 個のウィンドウで終わることはありません。

Paypal の Minicart を使用すると、同じ結果が得られ、標準の html の上記のコードで問題なく動作しますが、AS3 では失敗するようで、MiniCart または同様のカートでも認識されません。

ボタンのコードを含めてカスタム ボタンまたは Paypal ボタンを xml に表示するオプションは単純に思えますが、どこにも行われていないとは信じられません。

私の考えは、可能であれば、外部ソース、Javascript、または (可能であればその他) からコードを呼び出す ExternalInterface を提供して、同じ効果にアクセス/シミュレートするか、同じ情報を Flash から直接渡すことができるようにすることでした。

xml は 'utf-8' マークアップや AS3 での厳密なエラー管理などの他の要因にも依存していることはわかっていますが、本質的にシンプルなボタン コードをインポートするのは信じられないほど難しいようです。

どんなフィードバックでも祝福になるでしょう、

ありがとう、

サイモン

修正されたコード - 半分は機能しています

function onBtnClick(e:Event):void  {
//Setup the data.
var req:URLRequest = new URLRequest("https://www.paypal.com/cgi-bin/webscr");
var reqVars:URLVariables = new URLVariables();
reqVars.cmd = "_cart";
reqVars.business = "7BRY3X5XVSZ9Y";
reqVars.lc = "GR";
reqVars.item_name = "Card - Birthday";
reqVars.item_number = "BC 01-00-01";
reqVars.amount = "3.25";
reqVars.currency_code = "BC 01-00-01";
reqVars.button_subtype = "products";
reqVars.no_note = "0";
reqVars.cn = "Add special instructions to the seller:";
reqVars.no_shipping = "2";
reqVars.tax_rate = "23.000";
reqVars.shipping = "1.75";
reqVars.add = "1";
reqVars.bn = "PP-ShopCartBF:btn_cart_LG.gif:NonHosted";

//and so on

req.data = reqVars;
sendToURL(req);
trace(reqVars);
}

カートを表示すると Paypal に登録されるようになりましたが、Paypal Minicart では見落とされているため、問題の送信方法である可能性があります。すべて登録します。

とても近い!

4

1 に答える 1

0

さて、私はあなたの問題を正しく理解したと思います。そして、データを POST するためだけに大量のデータをインポートする代わりに、実際には必要ではないと思います。代わりに、以下のようなことを行います。しかし、私はペイパルの経験がないので、私の解決策はお勧めできないかもしれないことを覚えておいてください.

だからここに私のコードがあります:

private function init(e:Event = null):void 
{
removeEventListener(Event.ADDED_TO_STAGE, init);
btn = new Sprite();
btn.graphics.beginFill(0x000000);
btn.graphics.drawRect(50, 50, 100, 50);
btn.graphics.endFill();
btn.addEventListener(MouseEvent.CLICK, onBtnClick);

addChild(btn);
}

private function onBtnClick(e:Event):void 
{
//Setup the data.
var req:URLRequest = new URLRequest("http://www.acme.com");
var reqVars:URLVariables = new URLVariables();
reqVars.cmd = "_cart";
reqVars.business = "WHATEVER YOUR BUSINESS IS";
reqVars.lc = "GR";
//and so on
req.data = reqVars;
req.method = URLRequestMethod.POST;

var loader:URLLoader = new URLLoader();
loader.load(req); //Send the post data.
trace("fooo");
}

このコードは、関連する にメッセージを POST しますurl。これが役立つことを願っています。

于 2012-09-18T19:24:03.177 に答える