M-Pesa C2B API 해설 페이지를 참조하여 동작의 분위기를 파악
M-Pesa공식 사이트 개발자 페이지에는 인증, 명령 ID, API 규격서가 있다.개발은 매우 편리하지만 최초의 단계로서의 문턱은 매우 높다.
이에 따라 케냐의 기술자들은 아래 해설 페이지를 보면서 C2의 API를 호출해 거래를 성사시켜 어떤 데이터를 보낼지 확인한다.
로그인사이트 축소판 그림
열기Test Credentials 생성 페이지
Shortcode 1
"이 표시되므로 미리 기록됩니다.Shortcode 1
과Shortcode 2
모두 빈 칸으로 변한다.이 경우 "Initiator Security Password
"를 입력하지 않고 Refresh 버튼을 누르면 표시될 수 있습니다.Initiator Security Password For? *
"에서 "Test
"를 선택하고 Initiator用のパスワード
가운데 "Generae Credentrials
"Generated Initiator Security Credential:
"아래에 텍스쳐가 표시되므로 보관데이터베이스에서 테이블 만들기
CREATE TABLE mpesa_payments (
id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
Auto double,
TransactionType VARCHAR(40),
TransID VARCHAR(40),
TransTime VARCHAR(40),
TransAmount double,
BusinessShortCode VARCHAR(15),
BillRefNumber VARCHAR(40),
InvoiceNumber VARCHAR(40),
ThirdPartyTransID VARCHAR(40),
MSISDN VARCHAR(20),
FirstName VARCHAR(60),
MiddleName VARCHAR(60),
LastName VARCHAR(60),
OrgAccountBalance double
) DEFAULT CHARSET= utf8mb4
;
validation용 URL 및 confirmation용 서버 준비설명 페이지에서 두 파일 구성하기
Technical error
"로 표시되면 OK.'yourPU_RstrongPasswordSample$'
의 부분을 바꾸어 입장$servername
,$username
,$password
에 데이터베이스 서버 이름 설정 등$dbname
"로 표시되면 OK.MY APPS 페이지에서 사전 레코드
Technical error
및 Consumer Key
Consumer Secret
,$shortcode
,$consumerkey
에서 비밀번호 설정 등$consumersecret
, $validationurl
위에서 구성한 파일의 URL을 설정합니다.$confirmationurl
모습설명 페이지의 샘플 비밀번호에 미묘한 차이가 있음을 주의하십시오.)https://www.example.com/mps/validation.php?token='yourPU_RstrongPasswordSample$'
"로 답장하면 성공{
"ConversationID": "",
"OriginatorCoversationID": "",
"ResponseDescription": "success"
}
{
"requestId":"28813-6618036-1",
"errorCode": "400.003.02",
"errorMessage": "Bad Request - Invalid ValidationURL - URL has the word MPESA"
}
"Mpesa API URLs simulator"에서 의심 거래 확인 동작열기
"ResponseDescription": "success"
, Validation URL
를 입력하고 "Confirmation URL
"단추를 누릅니다.Send Sample Transaction
"및 토큰 문자열화면 아래쪽에 다음과 같이 표시되면 OK.
?token=yourPU_RstrongPasswordSample$
'에'Validation URL said :
과'Failed
두 개가 나오지만 DB에는 값이 있다.Success
"와 같이 표시됩니다.htaccess 등을 통해 접근 제한을 해제해야 할 수도 있습니다.Mpesa PHP API Testing Results
Sample data sent :
{ "TransactionType": "Pay Bill", "TransID": "LUG8366JGC", "TransTime": "20200210093951", "TransAmount": "0.06", "BusinessShortCode": "999999", "BillRefNumber": "SAMPLE ACCOUNT 101", "InvoiceNumber": "", "OrgAccountBalance": "0.06", "ThirdPartyTransID": "", "MSISDN": "254000000000", "FirstName": "JOHN", "MiddleName": "M.", "LastName": "DOE" }
Validation URL said :
{"ResultCode":1, "ResultDesc":"Failed", "ThirdPartyTransID": 0}{"ResultCode":0, "ResultDesc":"Success", "ThirdPartyTransID": 0}
Confirmation URL said :
{"ResultCode":0,"ResultDesc":"Confirmation received successfully"}
Reference
이 문제에 관하여(M-Pesa C2B API 해설 페이지를 참조하여 동작의 분위기를 파악), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/jansnap/items/8d13c08dec4a044732c4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)