عينة مشروع يوضح كيفية دمج Samsung Pay مع Datatrans
تسمح Samsung Pay للتجار بجمع المدفوعات من خلال منصة الدفع الخاصة بهم التي تربط محفظة Samsung Pay وتتيح للمستخدمين المصادقة من خلال أجهزتهم المحمولة. إنه يمكّن التجار من تلقي معلومات الدفع المشفرة التي يمكن إرسالها إلى معالج الدفع الخاص بهم للترخيص. هذا الدليل مخصص للتجار الذين يرغبون في دمج Samsung Pay مع Datatrans. لمزيد من المعلومات حول Samsung Pay ، تفضل بزيارة: http://www.samsung.com/ch/samsung-pay/
يتكون حل Samsungpay من اثنين من واجهات برمجة التطبيقات. الأول هو مجرد WebSDK لتشغيل المدفوعات على الويب. والثاني هو واجهة برمجة تطبيقات خادم إلى خادم تشبه الراحة. تدفق التطبيق/ الرسائل كما يلي:
يرجى ملاحظة أن هذه الخطوات مطلوبة لاستخدام تطبيق العينة وكذلك إذا كنت ترغب في استخدام Samsung Pay في بيئتك الإنتاجية. تتطلب هذه الخطوات أن تتصل بـ Samsung.
انتقل إلى https://us-bartner.pay.samsung.com/ والتسجيل. يمكنك استخدام هذا الحساب لاحقًا للاختبار على جهاز Samsung الخاص بك.
للتأكد من أنه يمكنك فقط فك تشفير الرسائل القادمة من Samsung ، تحتاج إلى إرسال CSR موقّع ذاتيًا لكل بيئة. يجب أن يكون للمسؤولية الاجتماعية للشركات سمات التالية:
- File extension CSR
- RSA Key Size 2048 bit or higher
- Signature Algorithm: Sha256WithRSAEncryption
قم بإنشاء CSR واحد لبيئة الاختبار والإنتاج الخاص بك
علاوة على ذلك ، تحتاج إلى إرسال قائمة عناوين IP الخاصة بك إلى Samsung أثناء عملية التنقل. يرجى الاتصال لمزيد من المعلومات. إرسال كل CSR إلى Samsung. بعد التحقق من حسابك وعناوين IP و CSRs لديك ستحصل على معرف خدمة والوصول إلى وثائقها
قم بإنشاء مفتاحك الخاص
openssl genrsa -out domain.com.key 2048
قم بإنشاء المسؤولية الاجتماعية للشركات بمفتاحك الخاص
openssl req -out CSR.csr -key domain.com.key -new -sha256
تحقق من المسؤولية الاجتماعية للشركات
openssl req -in CSR.csr -noout -text
تطبيق العينة هو تطبيق Boot Spring (https://projects.spring.io/spring-boot/) الذي يمكن نفاده من المربع. ويستخدم tomcat مضمن.
$ git clone [email protected]:datatrans/samsungpay-web-sample.git
$ cd samsungpay-web-sample
mvn clean install
لفك تشفير بيانات اعتماد الدفع المرسلة من Samsung ، تحتاج إلى استخدام المفتاح الخاص بك بتنسيق DER. إليكم كيف تقوم بتحويله.
openssl pkcs8 -topk8 -in domain.com.key -outform DER -nocrypt -out rsapriv.der
افعل ذلك لكل مفتاح خاص في كل بيئة. انسخ الملف إلى src/main/resources
ملكية | وصف | ملف |
---|---|---|
server.port | المنفذ يجب أن يعمل الخادم | application.properties |
Callbackurl | يستهلك رد الاتصال Samsung. تأكد من أن هذا يتماشى مع منفذ الخادم الخاص بك | application.properties |
Merchant.name | اسم شركتك. | application.properties |
Merchant.Reference | يتم استخدام هذا بواسطة Samsung لعرض المعاملات في تطبيق SamsungPay | application.properties |
Samsung.Serviceid | الخدمة الخاصة بك التي قدمتها Samsung | application-dev.properties / application-prod.properties |
datatrans.merchantid | Datatrans الخاص بك التجار | application-dev.properties / application-prod.properties |
datatrans.Sign | العلامة التي تنتمي إلى التجار | application-dev.properties / application-prod.properties |
أثناء الاتصال بـ Samsung ، سيتم تزويدك بتطبيق Samsung Pay. سيحتوي التطبيق على بطاقات اختبار ، ولن يتم تحصيلها من قبل DataTrans ولكن سيتم استبدالها إذا تم إرسال رمز دفع Samsung صالح على النحو التالي:
لو
Cardno = 4242 4242 4242 4242 Expm = 12 Expy = 18
تحقق من src/main/java/ch/datatrans/examples/samsungpay/client/DatatransClient.java
لمعرفة كيف يتم التفويض.
طلب العينة:
<? xml version = " 1.0 " encoding = " UTF-8 " ?>
< authorizationService version = " 1 " >
< body merchantId = " $merchantId " >
< transaction refno = " $refno " >
< request >
< samsungPayData > <![CDATA[ $token ]]> </ samsungPayData >
< reqtype >NOA</ reqtype >
< transtype >05</ transtype >
< sign >$sign</ sign >
</ request >
</ transaction >
</ body >
</ authorizationService >
استجابة العينة:
<? xml version = " 1.0 " encoding = " UTF-8 " ?>
< authorizationService version = " 1 " >
< body merchantId = " $merchantId " status = " accepted " >
< transaction refno = " $refno " trxStatus = " response " >
< request >
< samsungPayData > <![CDATA[ $token ]]> </ samsungPayData >
< reqtype >NOA</ reqtype >
< transtype >05</ transtype >
< sign >$sign</ sign >
</ request >
< response >
< responseCode >01</ responseCode >
< responseMessage >Authorized</ responseMessage >
< uppTransactionId >160823101329060450</ uppTrasactionId >
< authorizationCode >538050451</ authorizationCode >
< acqAuthorizationCode >101538</ acqAuthorizationCode >
< aliasCC >70119122433810042</ aliasCC >
< expy >18</ expy >
< expm >12</ expm >
</ response >
</ transaction >
</ body >
</ authorizationService >
ستعود مكالمة ناجحة <body>
status="accepted"
و <transaction>
من trxStatus="response"
بالإضافة إلى عنصر <response>
جديد يحتوي على ResponseCode. يشير الرمز المساواة مع "01" أو "02" إلى معاملة مصرح بها. لن يتم إرجاع العناصر المسلحة الاستعداد والكتابة و EXPM إلا إذا كان التاجر يستخدم أسماء الاسم المستعارة لبطاقات الائتمان.
واجهات برمجة التطبيقات Datatrans