Paypal のようないくつかの支払いプロバイダーを実装する必要があります。これらのサービスのほとんどは、いくつかの非表示フィールドを含むフォームを提供し、それを Web サイトに投稿します。1 つのビューに投稿して、urllib2 に実際のデータを支払いプロバイダーに投稿させたいと思います。
def pay_for_stuff(request, provider, amount, order_id):
if provider == 'some_payment_provider':
url = 'https://www.some_payment_provider.com'
values = {
#post values
}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
return HttpResponse(response)
これは、ユーザーが支払いサービスの https://... url に投稿するクレジット カード情報を入力できるフォームを返します。
これを行う理由は、いくつかの支払いプロバイダーを実装する必要があり、この方法で 1 つのビューに投稿する 1 つのフォームを使用できるためです。
これは安全ですか?また、この方法で問題が発生する可能性はありますか?