Stripe สร้างการ์ดหลายใบสำหรับลูกค้ารายเดียวกัน

ฉันยังใหม่กับ Stripe ฉันใช้ระบบการชำระเงินด้วยบัตรโดยใช้ Stripe ใน .NET

รหัสของฉันอยู่ภายใต้:

var options = new SessionCreateOptions
{
  PaymentMethodTypes = new List<string> { "card", },
  LineItems = new List<SessionLineItemOptions> {
    new SessionLineItemOptions {
      PriceData = new SessionLineItemPriceDataOptions {
        UnitAmount = productPrice,      // in cents
        Currency = currency,
        ProductData = new SessionLineItemPriceDataProductDataOptions {
          Name = productName
        },
      },
      Quantity = 1,
    },
  },
  Mode = "payment",
  PaymentIntentData = new SessionPaymentIntentDataOptions
  {
    ReceiptEmail = customerEmail,
    Description = productName
  },
  SuccessUrl = domain + "/Home/PaymentSuccess?session_id={CHECKOUT_SESSION_ID}",
  CancelUrl = domain + "/Home/PaymentCancel",
  Customer = customerId // From database
};

var service = new SessionService();
Session session = service.Create(options);
jsonToReturn = Json(new { id = session.Id });

ดังที่คุณเห็นข้างต้น ฉันกำลังส่ง CustomerId ที่ฉันจัดเก็บไว้ใน DB

ปัญหาคือลูกค้าที่ชำระเงินแต่ละครั้งจะป้อนบัตรใบเดียวกัน 4242 4242 4242 4242 โดยมีวันหมดอายุเดียวกัน 12/20 และ CVV 123 แต่ Stripe กำลังสร้างบัตรหลายใบเมื่อเห็นบนแดชบอร์ดสำหรับลูกค้ารายเดียวกัน

ป้อนคำอธิบายรูปภาพที่นี่

นอกจากนี้ ฉันสามารถส่งรหัสวิธีการชำระเงิน (รหัสบัตรที่บันทึกด้วย Stripe สำหรับการชำระเงินครั้งที่ผ่านมา) เพื่อให้ลูกค้าไม่จำเป็นต้องป้อนรายละเอียดบัตรและสามารถเลือกบัตรที่ใช้ในการชำระเงินในอดีตได้โดยตรงหรือไม่


person SimpleGuy    schedule 17.10.2020    source แหล่งที่มา


คำตอบ (1)


Stripe จะไม่ยกเลิกการซ้ำซ้อนการ์ดสำหรับคุณในขณะนี้ หากมีคนชำระเงินหลายครั้งติดต่อกันด้วยบัตรใบเดียวกัน พวกเขาจะถูกสร้างให้ซ้ำกันซึ่งคาดว่าจะเกิดขึ้น เหตุผลก็คือรายละเอียดบัตรอาจแตกต่างกัน เช่น มีที่อยู่สำหรับการเรียกเก็บเงินที่แตกต่างกันหรือครบถ้วนกว่า วันหมดอายุที่แตกต่างกัน มีผลแตกต่างกับ CVC หรือการตรวจสอบที่อยู่ เป็นต้น

ใน API นั้น Stripe จะแสดง fingerprint คุณสมบัติ ซึ่งสามารถ ใช้เพื่อระบุหมายเลขบัตรที่กำหนดในบัญชีเดียวกันโดยไม่ซ้ำกัน แนวคิดก็คือหากฉันชำระเงินด้วย 4242424242424242 สองครั้ง การ์ดทั้งสองใบจะมีอยู่ในบัญชีของคุณด้วย pm_12345 id ที่แตกต่างกัน แต่ทั้งสองใบจะมีลายนิ้วมือเหมือนกันทุกประการ ซึ่งสามารถช่วยคุณตรวจจับรายการซ้ำได้ และเช่น ทำความสะอาดข้อมูลเหล่านั้น

ขณะนี้ Stripe Checkout ไม่อนุญาตให้คุณกรอกหรือเลือกบัตรที่มีอยู่ล่วงหน้า ซึ่งหมายความว่าในตอนนี้ คุณไม่สามารถควบคุมวิธีการบันทึกการ์ดและไม่ว่าจะใช้การ์ดที่เคยใช้ก่อนหน้านี้ซ้ำหรือไม่ แนวคิดก็คือบัตรจะถูกบันทึกไว้เพื่อให้คุณสามารถให้ลูกค้ามาสั่งซื้อสินค้าเพิ่มเติมหรือเรียกเก็บเงินเป็นประจำได้ในหน้าการชำระเงินของคุณเอง หากคุณไม่ทำเช่นนี้ ตัวเลือกที่ดีที่สุดก็น่าจะยกเลิกวิธีการชำระเงินที่จะไม่ใช้ซ้ำในอนาคต

person koopajah    schedule 18.10.2020