3

ペイパルでの支払いには、ユーザーのクレジットカードの詳細を取得する必要があります。ユーザーがカードの詳細を初めて入力するとき、支払いはペイパルプロを通じて行われます。カードが有効でない場合、支払いは行われません。カードが有効な場合にのみ支払いが行われます。

ユーザーが最初に有効なカードの詳細を入力して支払いが行われたときに、そのようなユーザーがその時点でクレジットカードの詳細を変更した場合、カードがペイパルに有効かどうかをもう一度確認する必要があります。

では、クレジットカードの詳細のみをチェックし、支払いを処理しないAPIはありますか?

私はphpとmysqlを実行しています。

ありがとう。

アビナッシュ

4

3 に答える 3

4

Paypalではあなたの選択肢は非常に限られています。Paypal Proを使用している場合は、$ 0.00の承認のみを行うことで、カードが存在し、正当であるかどうかを確認できます。Paypalが提供する他の支払い方法を使用している場合、これを行うことはできません。

他のオプションは、カードに少なくとも有効な情報が含まれていることを確認することです。Luhnアルゴリズムを使用して、カード番号が正当であることを確認できます。すべてのクレジットカード番号は、そのアルゴリズムを使用して検証できるパターンで発行されます。カードが有効かどうかは確認できませんが、偽のクレジットカード番号を入力する必要はありません。また、有効期限が切れていないこと、およびCVVコードの長さがVisa、MasterCard、Discover Cardの場合は3桁、AmericanExpressの場合は4桁であることを確認する必要があります。

Luhnアルゴリズムに対してカード番号を検証するためのコードが必要な場合は、お知らせください。回答を追加して含めることができます。

編集(PHPにLuhnアルゴリズムコードを追加):

function passes_luhn_check($cc_number) {
    $checksum  = 0;
    $j = 1;
    for ($i = strlen($cc_number) - 1; $i >= 0; $i--) {
        $calc = substr($cc_number, $i, 1) * $j;
        if ($calc > 9) {
            $checksum = $checksum + 1;
            $calc = $calc - 10;
        }
        $checksum += $calc;
        $j = ($j == 1) ? 2 : 1;
    }
    if ($checksum % 10 != 0) {
        return false;
    }
    return true;
}

使用法:

$valid_cc = passes_luhn_check('4427802641004797'); // returns true
$valid_cc = passes_luhn_check('4427802641004798'); // returns false
于 2010-01-29T14:58:05.693 に答える
0

Paypalについてあまり知らなくても、カードが有効かどうかを確認するために$0.00の承認を行うことができるある種の承認APIがあると思います。

クレジットカードの詳細を保存するときは、 PCI要件を覚えておいてください。

于 2010-01-29T07:50:04.830 に答える
0

あなたが保存したデータに影響を与えるクレジットカードの詳細は、顧客によって変更される可能性があります。顧客がエンボス加工の名前のような実質的なものを変更した場合、発行者は顧客に新しいカードを渡します。あなたの観点からは、これは新しいカードである必要があります(カード番号が変更されていない場合でも)。

他の詳細を保存すると、保存しすぎになります。

私の観点から(私は発行者で働いています)、$0.00の承認の道を進んではいけません。顧客に請求する場合は、承認を行います。Paypallではありませんが、発行者が自動化を処理します。そして結局、カードが有効かどうかを知るのは発行者だけです。

于 2010-01-29T08:05:16.810 に答える