Aplikasi ini dibuat untuk tujuan pendidikan. Proyek ini mengimplementasikan pola injeksi repositori dan ketergantungan.
Seharusnya tidak digunakan untuk bisnis nyata apa pun. Saya tidak menerima reposibilitas apa pun jika Anda memutuskan untuk menggunakannya untuk transaksi nyata. Sebelum Anda melakukannya, pastikan aplikasi memenuhi standar keamanan.
update-databaselogin: [email protected] password: Qwerty1! Anda dapat mengubahnya di tab "Akun Anda". Lakukan setelah Anda mengatur pengaturan SMTP Anda di "Panel Admin" - langkah di bawah ini.Kesalahan aplikasi masuk dalam app_data/log.
Pergi ke e -shop -engine.services -> layanan -> pembayaran dan buat folder baru.
Ada 2 kelas model yang dapat diwarisi pembayaran dari: PaymentDetails (dimaksudkan untuk mengirim data ke server eksternal) dan PaymentResponse (dimaksudkan untuk menerima data dari server eksternal).
Buat antarmuka untuk layanan yang mewarisi dari iPaymentService. Kemudian buat implementasi.
public class DotPayPaymentService : IDotPayPaymentService
{
private static Settings settings;
public DotPayPaymentService(ISettingsRepository settingsRepository)
{
settings = settingsRepository.Get();
}
// The implementation...
}
Sekarang buka e -shop -engine.website -> pengontrol -> pembayaran dan buat pengontrol baru.
Pengontrol harus mewarisi dari BasepaymentController.
public class DotPayController : BasePaymentController
{
public DotPayController(
IOrderRepository orderRepository,
ICartRepository cartRepository,
ISettingsRepository settingsRepository,
IMailingService mailingService,
IDotPayPaymentService paymentService,
IAppUserManager userManager,
IUnitOfWork unitOfWork)
: base(
orderRepository,
cartRepository,
settingsRepository,
mailingService,
paymentService,
userManager,
unitOfWork)
{
//
}
Daftarkan Metode Pembayaran Baru di AutoFac (e -shop -engine.website -> app_start -> autofacconfig) builder.RegisterType<DotPayPaymentService>().As<IDotPayPaymentService>().InstancePerRequest();
Pergi ke Views -> Pembayaran -> Pilih dan tambahkan pembayaran baru. Remember to set input element value the same as Controller name <div class="custom-control custom-checkbox form-control-lg"> <input type="radio" name="paymentMethod" class="custom-control-input" id="dotpay" value="DotPay"> <label class="custom-control-label" for="dotpay"> <img src="~/Content/payment/dotpay_logo.jpg" class="payment-img" /> </label> </div>
Proyek ini dilisensikan di bawah lisensi MIT.