web-dev-qa-db-ja.com

Ubercartを介して支払いを受け取り、ベンダーに分配するにはどうすればよいですか?

私はカスタム支払いを行い、購入した製品によって決定される1つ以上のベンダーにその一部を送金する必要があるサイトで作業しています(ベンダーは基本的にショップで製品を作成します)。 Ubercart Marketplaceをこれの可能性として見ましたが、かなり古いものです。しかし、それは私が必要とするものに最も近いです。私はそれを使うべきですか、それともDrupal(Ubercartを使用))のより完全で統合されたより優れた解決策がありますか?

1
wizonesolutions

Drupal 6.xの場合はUbercartマーケットプレースを使用することをお勧めします。特に、ベンダーが独自の製品を作成し、製品の編集、製品の発行、出荷に独自の権限セットを持っている必要がある場合ベンダーや販売レポートを取得しました。UbercartMarketplaceで独自のカスタマイズとパッチ(特に支払いとレポートの領域)をいくつか使用しましたが、全体的に機能するため、ビルドするとさらに多くの時間がかかりますこの機能をゼロから作成するか、他のいくつかのモジュールをバンドルしてみてください。

注文を受け取ったときに支払いを自動的に分割する必要がある場合は、支払いを分割できるAmazon Flexible Paymentsをご覧ください。必要なことをすべて実行できる非常に柔軟なAPIがあります。

2
3dloco

これはUbercartの外にありますが、Drupalで確実に可能です。

このデモでは、ポイントシステムを使用します。 100ポイント= $ 1.00としましょう。

Drupal 7の方法:

  1. Productsというコンテンツタイプを作成します。
  2. Drupalモジュールと呼ばれる Entity Reference をインストールし、Entity ReferenceフィールドをProductsコンテンツタイプに追加し、ユーザーを選択します。これにより、ベンダーに製品を参照できます。
  3. ポイントと呼ばれる別のコンテンツタイプを作成します。また、エンティティ参照フィールドを追加し、タイプとしてユーザーを選択して、ユーザーを参照します。さらに、小数フィールド(金額)を追加します。
  4. 別のDrupalモジュールと呼ばれる Rules と呼ばれる)をインストールします
  5. 販売日から一定の時間(30日など)が経過した後、そのユーザーを参照してポイントノードを作成し、獲得した手数料を追加するルールを作成します。
  6. 支払いが引き出されるたびにポイントノードを非公開にするルールを作成します。

別のオプションは Relation モジュールを使用することです。より多くの作業が必要で、まだ初期段階です。

コミッションごとにポイントノードを作成すると、トランザクションのすべてのレコードが残ります。古いコミッションの値を新しいコミッションで上書きすることはありません。つまり、$ user-> payment = $ user-> payment + 10です。混乱を招きます。

Drupalのエンティティ/フィールド構造を使用するため、これで bercart を引き続き使用できます。 #1をスキップして、Ubercartの製品コンテンツタイプを使用してください。

2
timofey.com